import { AnsiLogger } from 'matterbridge/logger';
import { MessageContext, RequestMessage } from '../models/index.js';
import { AbstractClient } from '../routing/abstractClient.js';
import { ResponseBroadcaster } from '../routing/listeners/responseBroadcaster.js';
import { PendingResponseTracker } from '../routing/services/pendingResponseTracker.js';
export declare class LocalNetworkClient extends AbstractClient {
    private readonly duid;
    private readonly ip;
    protected clientName: string;
    private socket;
    private buffer;
    private messageIdSeq;
    private checkConnectionInterval;
    private helloResponseListener;
    private pingResponseListener;
    private connected;
    private intentionalDisconnect;
    constructor(logger: AnsiLogger, context: MessageContext, duid: string, ip: string, responseBroadcaster: ResponseBroadcaster, responseTracker: PendingResponseTracker);
    isReady(): boolean;
    isReconnecting(): boolean;
    isConnected(): boolean;
    connect(): void;
    disconnect(): Promise<void>;
    protected sendInternal(duid: string, request: RequestMessage): Promise<void>;
    private onConnect;
    private onDisconnect;
    private onError;
    private onTimeout;
    private onEnd;
    private onMessage;
    private isMessageComplete;
    private safeHandler;
    private wrapWithLengthData;
    private trySendHelloRequest;
    private sendHelloMessage;
    private processHelloResponse;
    private checkingConnection;
    private checkConnection;
    private sendPingRequest;
}
//# sourceMappingURL=localClient.d.ts.map