import { Done } from '../../../../../Class/Functional/Done';
import { Fail } from '../../../../../Class/Functional/Fail';
import { Holder } from '../../../../../Class/Holder';
import { System } from '../../../../../system';
import { CH } from '../../../../../types/interface/CH';
import { MS } from '../../../../../types/interface/MS';
export interface I {
    offer: string;
    close: any;
    opt: RTCConfiguration;
}
export interface O {
    stream: MS;
    answer: string;
    channel: CH;
}
export default class PeerReceiver extends Holder<I, O> {
    private _peer;
    private _unlisten;
    private _connected;
    private _flag_err_invalid_offer;
    constructor(system: System);
    f({ opt }: I, done: Done<O>, fail: Fail): Promise<void>;
    d(): void;
    private _output_answer;
    onDataInputDrop<K extends keyof I | 'done'>(name: K, data: any): Promise<void>;
    onIterDataInputData(name: keyof I, data: any): Promise<void>;
    onIterDataInputDrop(name: keyof I | 'done'): void;
    onDataOutputDrop(name: string): void;
    private _setup_peer;
}
