import { $ } from '../../../../../Class/$';
import { Done } from '../../../../../Class/Functional/Done';
import { Semifunctional, SemifunctionalEvents } from '../../../../../Class/Semifunctional';
import { System } from '../../../../../system';
import { CH } from '../../../../../types/interface/CH';
export type I = {
    url: string;
    close: any;
};
export type O = {
    channel: CH & $;
};
export type Socket_EE = {
    message: [any];
};
export type SocketEvents = SemifunctionalEvents<Socket_EE> & Socket_EE;
export default class Socket extends Semifunctional<I, O, SocketEvents> implements CH {
    private _web_socket;
    constructor(system: System);
    f({ url }: I, done: Done<O>): void;
    d(): void;
    onIterDataInputData(name: string, data: any): void;
    private _plunk;
    private _close;
    send(data: any): Promise<void>;
}
