interface SearchParams {
    query: string;
    labels?: string[];
    accountId?: string;
    limit?: number;
    expandHops?: number;
    /** When set, only nodes whose `scope` is in this list (or IS NULL) are returned. Omit for unrestricted (admin). */
    allowedScopes?: string[];
    /** When set, filter results to nodes whose `keywords` array contains these values. Nodes without a `keywords` property pass through (vector similarity alone determines relevance). */
    keywords?: string[];
    /** "any" (default) = OR semantics, "all" = AND semantics. Only used when keywords is set. */
    keywordMatch?: "any" | "all";
    /** When set, filter to nodes where this slug is in the node's `agents` array. */
    agentSlug?: string;
    /** When set, run BM25 queries per keyword and union results with directly-tagged nodes. */
    keywordSubscriptions?: string[];
}
interface SearchResult {
    nodeId: string;
    labels: string[];
    properties: Record<string, unknown>;
    score: number;
    related: Array<{
        relationship: string;
        direction: string;
        labels: string[];
        properties: Record<string, unknown>;
    }>;
}
/** Clear the index cache — call after schema changes. */
export declare function clearIndexCache(): void;
export declare function memorySearch(params: SearchParams): Promise<SearchResult[]>;
export {};
//# sourceMappingURL=memory-search.d.ts.map