import { Subject } from "rxjs";
import Node from "../node";
declare class Port {
    id: string;
    name: string;
    type: string;
    peers: Port[];
    node: Node | null;
    isActive: boolean;
    identity: symbol;
    static I: (name: string) => Port;
    static O: (name: string) => Port;
    $pipedEventEmitter: any;
    $eventEmitter: Subject<any>;
    constructor({ type, name }: {
        type: any;
        name?: string | undefined;
    });
    active(): void;
    deActive(): void;
    addPeer(val: Port): void;
    attach(node: Node): void;
    get $(): any;
    send(msg: any): void;
    pipe(...args: any[]): {
        receive: (next: any) => any;
    };
    on(next: any): any;
    receive(next: any): any;
    connect(port: any): this;
}
export default Port;
