/**
 * Ollama embedding provider.
 *
 * Wraps the existing Ollama client logic (Docker or external)
 * into the EmbeddingProvider interface.
 */
import type { InfraProgressCallback } from "./docker.js";
import type { EmbeddingHealthStatus, EmbeddingProvider, EmbeddingReadinessResult } from "./embedding-types.js";
/** Drop the cached client and drain its connection pool. */
export declare function resetOllamaClient(): void;
/** Check if Ollama is reachable */
export declare function isOllamaAvailable(): Promise<boolean>;
/** Check if the embedding model is already pulled */
export declare function isModelAvailable(): Promise<boolean>;
/** Pull the embedding model */
export declare function pullModel(): Promise<void>;
/** Reset the cached readiness state */
export declare function resetOllamaReadinessCache(): void;
/** Reset the auto-detection cache (for testing). */
export declare function resetAutoDetectionCache(): void;
export declare class OllamaEmbeddingProvider implements EmbeddingProvider {
    readonly name = "ollama";
    private onProgress?;
    constructor(onProgress?: InfraProgressCallback);
    ensureReady(): Promise<EmbeddingReadinessResult>;
    /** Pull the embedding model with a timeout to prevent infinite hangs */
    private pullModelWithTimeout;
    embed(texts: string[]): Promise<number[][]>;
    embedSingle(text: string): Promise<number[]>;
    healthCheck(): Promise<EmbeddingHealthStatus>;
}
//# sourceMappingURL=provider-ollama.d.ts.map