/// export declare enum ScsiCommand { FORMAT_UNIT = 4, INQUIRY = 18, MODE_SELECT_6 = 21, MODE_SELECT = 85, MODE_SENSE_6 = 26, MODE_SENSE = 90, PA_MEDIA_REMOVAL = 30, READ_10 = 40, READ_12 = 168, READ_CAPACITY = 37, READ_CAPACITIES = 35, REQUEST_SENSE = 3, REZERO_UNIT = 1, SEEK = 43, SEND_DIAGNOSTIC = 29, START_STOP_UNIT = 27, TEST_UNIT_READY = 0, VERIFY = 47, WRITE_10 = 42, WRITE_12 = 170, WRITE_VERIFY = 46, READ_CD = 190, READ_CD_MSF = 185, READ_HEADER = 68, READ_SUBCHANNEL = 66, READ_TOC = 67, STOP_PLAY_SCAN = 78, MECHANISM_STATUS = 189, GET_EVENT_STATUS = 74 } declare enum FddState { MEDIA_NOT_PRESENT = 0, MEDIA_CHANGED = 1, DEVICE_READY = 2 } export declare class VirtualDevice { keepaliveTime: number; fdd_state: FddState; event_state: number; protected processCommand(buf: Buffer): Promise; protected handleSendDiagnostics(): void; protected handleRead(buf: Buffer): Promise; protected handlePaMediaRemoval(buf: Buffer): void; protected handleStartStopUnit(buf: Buffer): boolean; protected handleTestUnitReady(): void; protected handleReadCapacity(): Promise; protected handleReadToc(buf: Buffer): Promise; protected handleModeSense(buf: Buffer): void; protected handleGetEventStatus(buf: Buffer): void; protected media: number; protected senseKey: number; protected asc: number; protected ascq: number; protected sendCommand(senseKey: number, asc: number, ascq: number, payload?: Buffer): void; protected keepaliveTimeout?: NodeJS.Timeout; protected resetKeepaliveTimeout(): void; protected cmdQueue: Buffer; receive(chunk: Buffer): Promise; sendDisconnect(): void; protected send(data: Buffer): void; protected mediaIsPresent(): boolean; /** returns current device size in bytes */ protected mediaSize(): Promise; /** * positioned read of `buffer.length` bytes on device. * `pos` is in bytes. data must be placed at the buffer. * if the position is out of bounds, return true */ protected mediaRead(buffer: Buffer, pos: number): Promise; protected notifyMediaEject(): void; protected notifyMediaRemoval(prevented: boolean): void; } export default VirtualDevice;