import { Closeable, Deferred, Demultiplexer, Deserializer, DuplexConnection, Frame, FrameHandler, Multiplexer, Outbound } from 'rsocket-core';
import DEBUG from 'debug';
export declare const debug: DEBUG.Debugger;
export declare class WorkerDuplexConnection extends Deferred implements DuplexConnection, Outbound {
    private worker;
    private deserializer;
    readonly multiplexerDemultiplexer: Multiplexer & Demultiplexer & FrameHandler;
    constructor(worker: Worker, deserializer: Deserializer, multiplexerDemultiplexerFactory: (outbound: Outbound & Closeable) => Multiplexer & Demultiplexer & FrameHandler);
    get availability(): number;
    close(error?: Error): void;
    send(frame: Frame): void;
    private handleError;
    private handleMessageError;
    private handleMessage;
}
