import { $ } from './Class/$';
import { EventEmitter_EE } from './EventEmitter';
import { System } from './system';
import { Callback } from './types/Callback';
import { Dict } from './types/Dict';
import { Port } from './types/global/Port';
import { Unlisten } from './types/Unlisten';
export type AnyEmitterEvents = EventEmitter_EE<Dict<any[]>> & Dict<any[]>;
export declare class RemotePort extends $ {
    private _port;
    private _call_id;
    private _watch_id;
    private _ref_id;
    private _ref;
    private _watch_emitter;
    private _call_emitter;
    private _valid;
    constructor(system: System, port: Port);
    exec(data: any): void;
    get(method: string, data: any, callback: Callback<any>): void;
    call(method: string, data: any, callback: Callback<any>): void;
    watch(method: string, data: any, callback: Callback<any>): Unlisten;
    ref(method: string, data: any): RemotePort;
    close(): void;
    valid(): boolean;
}
