import type { Metadata, MetadataEventEmitter } from '../metadata';
export type IPCServerConfig = {
    appspace: string;
    serverId: string;
    globalMetadata: Metadata;
    emitter: MetadataEventEmitter;
};
export declare class IPCServer {
    private _startPromise?;
    private _stopPromise?;
    private _flushDeferred?;
    private readonly _ipc;
    private readonly _globalMetadata;
    private readonly _emitter;
    private readonly _knownSockets;
    constructor(config: IPCServerConfig);
    get id(): string;
    start(): Promise<void>;
    stop(): Promise<void>;
    flush(): void;
    private _doStart;
    private _doStop;
    private _onClientMessageBatch;
    private _checkIfAllClientsFlushed;
    private _setEmergencyTimeout;
}
