import type { ProviderCapability } from './capabilities.js';
import type { ChatRequest, ChatResponse, LLMProvider, ProviderEmbeddingRequest, ProviderEmbeddingResult, ProviderRuntimeMetadata, ProviderRuntimeMetadataDeps } from './interface.js';
import { type OpenAICompatOptions } from './openai-compat.js';
type NativeFetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
export interface OllamaProviderOptions extends OpenAICompatOptions {
    nativeFetch?: NativeFetch;
    fallbackProvider?: LLMProvider;
}
export declare class OllamaProvider implements LLMProvider {
    readonly name: string;
    readonly models: string[];
    readonly capabilities?: Partial<ProviderCapability>;
    private readonly baseURL;
    private readonly defaultModel;
    private readonly nativeChatUrl;
    private readonly nativeEmbedUrl;
    private readonly nativeFetch;
    private readonly fallbackProvider;
    private readonly embeddingModel;
    constructor(opts: OllamaProviderOptions);
    chat(params: ChatRequest): Promise<ChatResponse>;
    embed(request: ProviderEmbeddingRequest): Promise<ProviderEmbeddingResult>;
    describeRuntime(deps: ProviderRuntimeMetadataDeps): Promise<ProviderRuntimeMetadata>;
    private chatViaNativeOllama;
}
export {};
//# sourceMappingURL=ollama.d.ts.map