/**
 * MemoryAgentRegistry — in-process adapter for AgentRegistryPort.
 *
 * Zero dependencies. Suitable for unit tests, single-process deployments,
 * and as a local cache in front of PostgresAgentRegistry.
 *
 * Thread safety: not applicable (Node.js single-threaded event loop).
 * Persistence: none — state is lost on process restart.
 */
import type { AgentDescriptor, AgentRegistryPort } from "../../ports/agent-registry.js";
export declare class MemoryAgentRegistry implements AgentRegistryPort {
    private readonly store;
    /**
     * Register (upsert) an agent descriptor.
     * Overwrites any existing descriptor with the same `id`.
     */
    register(descriptor: AgentDescriptor): Promise<void>;
    /**
     * List agents, optionally narrowed by a partial descriptor filter.
     *
     * Only scalar top-level fields are compared (`product`, `trigger`,
     * `tenantId`). Arrays (`capabilities`) are not compared here — use
     * `resolve()` for capability-based lookup.
     */
    list(filter?: Partial<AgentDescriptor>): Promise<AgentDescriptor[]>;
    /**
     * Resolve agents that declare the given capability.
     *
     * When `opts.tenantId` is provided, only agents whose `tenantId` matches
     * OR whose `tenantId` is undefined (global agents) are returned.
     */
    resolve(capability: string, opts?: {
        tenantId?: string;
    }): Promise<AgentDescriptor[]>;
    /**
     * Remove an agent by id. No-op if the id is not registered.
     */
    unregister(id: string): Promise<void>;
}
//# sourceMappingURL=memory.d.ts.map