import { BehaviorSubject } from "rxjs";
import { ChannelState } from "./types";
export declare class DuplexChannel<U> {
    protected incoming: BehaviorSubject<U>;
    protected outgoing: BehaviorSubject<U>;
    constructor(data: U, state?: ChannelState);
    get listen(): import("rxjs").Observable<U>;
    send(data: U): void;
    close(): void;
}
export interface Channels<U> {
    [index: string]: DuplexChannel<U>;
}
//# sourceMappingURL=channel.d.ts.map