import type { Tool } from '../core/tools/tool-types.js'; import type { MeshEventBus } from './mesh-events.js'; import { type MeshPeer, type MeshConfig, type QueryHandler, type ShareSkillHandler, type ShareMemoryHandler, type HostAddressResolver } from './types.js'; export { isMeshVerboseEnabled } from './helpers.js'; export type { MeshPeer, MeshConfig, MeshMessage } from './types.js'; export declare class AgentMesh { private readonly config; private readonly port; private readonly registry; private readonly transport; private queryHandler; private shareSkillHandler; private shareMemoryHandler; private readonly sharedSecret; private peerExpiryTimer; private queryTokens; private readonly maxQueriesPerMinute; private lastQueryRefill; private _currentInboundDepth; constructor(config: MeshConfig); onQuery(handler: QueryHandler): void; onShareSkill(handler: ShareSkillHandler): void; onShareMemory(handler: ShareMemoryHandler): void; setEventBus(bus: MeshEventBus): void; start(): Promise; stop(): Promise; private handleMessage; announce(): Promise; queryPeers(query: string, options?: { callDepth?: number; }): Promise>; discoverPeer(host: string, port: number, options?: { allowPrivate?: boolean; resolveHostAddresses?: HostAddressResolver; }): Promise; getPeers(): MeshPeer[]; removePeer(peerId: string, reason?: string): void; private tryConsumeQueryToken; } export declare function createMeshTools(mesh: AgentMesh): Tool[]; //# sourceMappingURL=agent-mesh.d.ts.map