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