import type { MeshClientRegistryBackend, RegisteredClient, RegisterResult } from './types';
export declare class MeshClientRegistry<TMeta> {
    private nodeId;
    private backend;
    constructor(nodeId: number, backend: MeshClientRegistryBackend<TMeta>);
    register(clientId: string, metadata: TMeta, allowSupersede?: boolean): Promise<RegisterResult>;
    reserve(clientId: string, metadata: TMeta, allowSupersede?: boolean): Promise<RegisterResult>;
    activate(clientId: string, metadata: TMeta): Promise<boolean>;
    unregister(clientId: string): Promise<boolean>;
    updateMetadata(clientId: string, metadata: TMeta): Promise<boolean>;
    getClient(clientId: string): Promise<RegisteredClient<TMeta> | undefined>;
    listClients(): Promise<RegisteredClient<TMeta>[]>;
    listClientsForNode(nodeId?: number): Promise<RegisteredClient<TMeta>[]>;
    cleanupNode(nodeId?: number): Promise<RegisteredClient<TMeta>[]>;
}
//# sourceMappingURL=mesh-client-registry.d.ts.map