import type { Config } from "../config.js"; import type { Registry } from "../registry/index.js"; import type { HarnessClient } from "../client/harness-client.js"; import type { SearchCorpus, SearchProvider, SearchReadiness, IndexableItem } from "./types.js"; import "../data/examples/load-all.js"; export declare class SearchManager { private provider; private readonly mcpMode; private readonly configuredProvider; private readiness; private loggedResourcesCorpusDisabled; constructor(config: Config); /** * Whether live customer data may be indexed into the given corpus. * In multi-user mode the local in-process store must not hold per-account entity data * (no isolation between accounts). The remote provider handles this correctly via tenant_id. */ canIndexCorpus(corpus: SearchCorpus): boolean; /** * Index a single item, enforcing corpus/mode policy before delegating to the provider. */ indexItem(item: IndexableItem): Promise; getProvider(): SearchProvider; getReadiness(): SearchReadiness; initialize(): Promise; /** * Index all static, account-agnostic content into mcp_resources corpus. * Safe to call in any mode — no account context needed. * Items are permanent (ttlMs=0) since they're bundled with the server. */ indexStaticContent(registry: Registry): Promise; /** * Pre-index tier-1 Harness resources for a specific account. * Only call in stdio (single-user) mode where client.account is known. */ initializeIndex(registry: Registry, client: HarnessClient): Promise; private loadProvider; } //# sourceMappingURL=manager.d.ts.map