import type { TypedQueryClient } from "../../generated/storage-kit/index.js"; import { type Embedder, type EmbedResult } from "../../lib/embeddings.js"; import type { SearchHit, SearchOptions } from "../../lib/search.js"; export type { Embedder, EmbedResult }; /** The embedder used when none is injected (reads OPENAI_API_KEY at call time). */ export declare function defaultCloudEmbedder(model: string): Embedder; /** * Generate embeddings for messages that have none yet, one row per chunk in the * cloud `embeddings` table. Idempotent — already-embedded messages are skipped. */ export declare function cloudEmbedSessions(opts?: { limit?: number; embedder?: Embedder; model?: string; maxChars?: number; }, client?: TypedQueryClient): Promise; /** Number of stored embedding rows (for recall metadata). */ export declare function cloudEmbeddingCount(client?: TypedQueryClient): Promise; /** True when any embedding exists (optionally within the session filters). */ export declare function cloudHasStoredEmbeddings(opts?: SearchOptions, client?: TypedQueryClient): Promise; /** Rank stored cloud embeddings against a query vector (brute-force cosine). */ export declare function cloudVectorSearchByEmbedding(queryVec: number[], opts?: SearchOptions, client?: TypedQueryClient): Promise; /** Semantic search over the shared cloud: embed the query, then cosine-rank. */ export declare function cloudSemanticSearch(query: string, opts?: SearchOptions & { embedder?: Embedder; }, client?: TypedQueryClient): Promise; /** Hybrid search over the shared cloud: RRF of full-text (ILIKE) + semantic. */ export declare function cloudHybridSearch(query: string, opts?: SearchOptions & { embedder?: Embedder; }, client?: TypedQueryClient): Promise; //# sourceMappingURL=embeddings.d.ts.map