import { ConnectionOptions } from "./types";
export interface Transport {
    close(): void;
    destroy(): void;
    isClosed(): boolean;
    isConnected(): boolean;
    isSecure(): boolean;
    write(data: any): void;
}
export interface CloseHandler {
    (evt: CloseEvent): void;
}
export interface EventHandler {
    (evt: Event): void;
}
export interface MessageHandler {
    (evt: MessageEvent): void;
}
export interface TransportHandlers {
    openHandler: EventHandler;
    closeHandler: CloseHandler;
    errorHandler: EventHandler;
    messageHandler: MessageHandler;
}
export declare class WSTransport {
    stream: WebSocket | null;
    handlers: TransportHandlers;
    closed: boolean;
    debug: boolean;
    listeners: TransportHandlers;
    constructor(handlers: TransportHandlers);
    static connect(options: ConnectionOptions, handlers: TransportHandlers, debug?: boolean): Promise<Transport>;
    isClosed(): boolean;
    isConnected(): boolean;
    write(data: ArrayBuffer): void;
    destroy(): void;
    close(): void;
    trace(...args: any[]): void;
    isSecure(): boolean;
}
//# sourceMappingURL=transport.d.ts.map