///
import { BindingPortInterface } from '.';
import { BindingInterface, OpenOptions, PortStatus, SetOptions, UpdateOptions } from '@serialport/bindings-interface';
import { Poller } from './poller';
export interface DarwinOpenOptions extends OpenOptions {
/** Defaults to none */
parity?: 'none' | 'even' | 'odd';
/** see [`man termios`](http://linux.die.net/man/3/termios) defaults to 1 */
vmin?: number;
/** see [`man termios`](http://linux.die.net/man/3/termios) defaults to 0 */
vtime?: number;
}
export type DarwinBindingInterface = BindingInterface;
export declare const DarwinBinding: DarwinBindingInterface;
/**
* The Darwin binding layer for OSX
*/
export declare class DarwinPortBinding implements BindingPortInterface {
readonly openOptions: Required;
readonly poller: Poller;
private writeOperation;
fd: null | number;
constructor(fd: number, options: Required);
get isOpen(): boolean;
close(): Promise;
read(buffer: Buffer, offset: number, length: number): Promise<{
buffer: Buffer;
bytesRead: number;
}>;
write(buffer: Buffer): Promise;
update(options: UpdateOptions): Promise;
set(options: SetOptions): Promise;
get(): Promise;
getBaudRate(): Promise<{
baudRate: number;
}>;
flush(): Promise;
drain(): Promise;
}