import EventEmitter from 'eventemitter3'; declare class NotImplementedException extends Error { } declare abstract class Adapter extends EventEmitter { abstract open(callback?: (error: Error | null) => void): this; abstract write(data: Buffer | string, callback?: (error: Error | null) => void): this; abstract close(callback?: (error: Error | null) => void, ...closeArgs: CloseArgs): this; abstract read(callback?: (data: Buffer) => void): void; } export { Adapter, NotImplementedException };