import type { AgentDefaults, AgentEntry } from '../agent-config/index.js'; import type { BindingRule } from '../routing/binding-schema.js'; import { AgentCatalogRepository } from './repository.js'; import type { AgentCatalogSettings, StoredAgent } from './types.js'; export declare class AgentCatalogService { private readonly repository; constructor(repository?: AgentCatalogRepository); create(entry: AgentEntry): Promise; resumePendingProvisioning(): Promise; /** Startup recovery for catalog rows committed before their directories were provisioned. */ resumePendingProvisioningSync(): void; update(agentIdRaw: string, patch: Partial>, expectedRevision?: number): Promise; /** Remove data for an Agent that has already been deleted from the catalog. */ purgeEntryData(entry: AgentEntry, defaultAgentId: string): Promise; validatePurgeEntry(entry: AgentEntry, defaultAgentId: string): void; resumePendingPurge(): Promise; private resumePendingPurgeSync; setDefault(agentId: string): AgentCatalogSettings; updateDefaults(defaults: AgentDefaults): AgentCatalogSettings; replaceBindings(bindings: BindingRule[]): BindingRule[]; setSurfaceDefault(surface: string, agentId: string): void; clearSurfaceDefault(surface: string): void; delete(agentIdRaw: string, options?: { purge?: boolean; }): Promise<{ removedBindings: number; }>; private provision; private provisionSync; private purgeEntryDataSync; private assertSafeWorkspacePurge; private assertPurgeTargetsAreNotShared; }