/**
 * MonitorAgent会主动发起连接到master,并维护对应的连接，然后通过此连接与master端通信
 */
/// <reference types="node" />
import { EventEmitter } from 'events';
import { Socket } from 'socket.io-client';
import { EStatus, IMonitorAgentOpts, IServerInfo, ISocketMsg } from '..';
import { ConsoleService } from '../consoleService';
export declare class MonitorAgent extends EventEmitter {
    consoleService: ConsoleService;
    id: string;
    type: string;
    host: string;
    port: number;
    socket: Socket;
    timeout: number;
    serverInfo: IServerInfo;
    status: EStatus;
    constructor(consoleService: ConsoleService, opts: IMonitorAgentOpts);
    start(): void;
    connect(): void;
    /**
     * 注册，鉴权
     */
    register(): Promise<void>;
    doSend(msg: ISocketMsg): void | Promise<unknown>;
}
