import type { ObjectId } from "./object-types.js"; export interface SearchableObject { properties?: Record; [key: string]: unknown; } export interface ObjectSearchOptions { fields?: string[]; limit?: number; caseSensitive?: boolean; } export interface ObjectSearchResult { id: ObjectId; object: SearchableObject; score: number; } export interface ObjectSearchConfig { fields: string[]; normalize?: boolean; } export declare function normalizeSearchText(value: string, normalize?: boolean): string; /** * Lightweight inverted token index for local ObjectManager search. * Updates incrementally on property changes only. */ export declare class ObjectSearchIndex { private readonly config; private readonly tokensById; private readonly inverted; constructor(config: ObjectSearchConfig); get fields(): readonly string[]; clear(): void; remove(id: ObjectId): void; upsert(id: ObjectId, object: SearchableObject): void; search(query: string, objects: Map, options?: ObjectSearchOptions): ObjectSearchResult[]; } //# sourceMappingURL=object-search-index.d.ts.map