import type { EmbeddingCapabilityFailureV1, EmbeddingCapabilityStatus, EmbeddingCapabilityV1, EmbeddingProfileV1, EmbeddingPurpose } from './types/embedding-capability.js'; export declare const EMBEDDING_MODEL_ID = "Xenova/all-MiniLM-L6-v2"; export declare const EMBEDDING_MODEL_REVISION = "751bff37182d3f1213fa05d7196b954e230abad9"; export declare const EMBEDDING_MODEL_DIMENSION = 384; export declare const EMBEDDING_TOKENIZER_CONFIG_HASH = "9261e7d79b44c8195c1cada2b453e55b00aeb81e907a6664974b4d2c62a0"; export interface EmbeddingWarmupOptions { timeoutMs?: number; errorLogPath?: string; } /** Raw response shape accepted by provider adapters before canonicalization. */ export type EmbeddingBatchResponseV1 = ReadonlyArray | ReadonlyArray<{ index: number; vector: Float32Array; }>; export interface EmbeddingProviderContract { getCapability(purpose: EmbeddingPurpose): EmbeddingCapabilityV1; getStatus(): 'idle' | 'warming' | 'ready' | 'failed'; warmup(options?: EmbeddingWarmupOptions): Promise; embed(text: string): Promise; /** Returns one validated vector per input, in the same order as `texts`. * Provider adapters may accept `EmbeddingBatchResponseV1` internally, but * this public contract exposes only the canonical ordered representation. */ embedBatch(texts: string[]): Promise; getLastError(): string | null; getLastFailure(): Error | null; } export type EmbeddingProfileInput = Omit; export declare function createEmbeddingProfile(input: EmbeddingProfileInput): EmbeddingProfileV1; export declare function createMiniLmEmbeddingProfile(purpose: EmbeddingPurpose, generation?: number): EmbeddingProfileV1; export declare function createEmbeddingCapability(input: { profile: EmbeddingProfileV1; status: EmbeddingCapabilityStatus; failure?: EmbeddingCapabilityFailureV1; lastTransitionAt?: number; }): EmbeddingCapabilityV1; //# sourceMappingURL=embedding-provider-contract.d.ts.map