/**
 * @license
 * Copyright 2025 OElite Platform
 * SPDX-License-Identifier: Apache-2.0
 */
import { BaseProvider } from './baseProvider.js';
import { type ProviderConfig, type ModelInfo } from './types.js';
/**
 * Ollama provider implementation
 * Supports running large language models locally
 */
export declare class OllamaProvider extends BaseProvider {
    private static readonly DEFAULT_BASE_URL;
    private static readonly REQUEST_TIMEOUT_MS;
    constructor(config: ProviderConfig);
    /**
     * Fetch with timeout to prevent hanging
     */
    private fetchWithTimeout;
    protected doInitialize(): Promise<void>;
    isConfigured(): boolean;
    getAvailableModels(): Promise<ModelInfo[]>;
    protected doHealthCheck(): Promise<void>;
    createCompletion(model: string, messages: any[], options?: any): Promise<any>;
    createStreamingCompletion(model: string, messages: any[], options?: any): AsyncIterable<any>;
    /**
     * Format messages as a single prompt string for Ollama
     */
    private formatMessagesAsPrompt;
    /**
     * Estimate context window based on model name
     */
    private estimateContextWindow;
    /**
     * Pull a new model from Ollama registry
     */
    pullModel(modelName: string): Promise<void>;
    /**
     * Get Ollama server version
     */
    getVersion(): Promise<string>;
}
