import { OllamaModel, OllamaGenerateRequest, OllamaGenerateResponse, OllamaCreateRequest, OllamaEmbeddingsRequest, OllamaEmbeddingsResponse, OllamaChatRequest, OllamaChatResponse } from '../types/index.js';
declare class OllamaService {
    private client;
    private longOperationClient;
    private baseUrl;
    constructor();
    isHealthy(): Promise<boolean>;
    getModels(): Promise<OllamaModel[]>;
    generateResponse(request: OllamaGenerateRequest): Promise<OllamaGenerateResponse>;
    generateStreamResponse(request: OllamaGenerateRequest, onChunk: (chunk: OllamaGenerateResponse) => void, onError: (error: Error) => void, onComplete: () => void): Promise<void>;
    pullModel(modelName: string): Promise<void>;
    pullModelStream(modelName: string, onProgress: (progress: {
        status: string;
        digest?: string;
        total?: number;
        completed?: number;
        percent?: number;
    }) => void, onError: (error: Error) => void, onComplete: () => void): Promise<void>;
    deleteModel(modelName: string): Promise<void>;
    showModel(modelName: string, verbose?: boolean): Promise<Record<string, unknown>>;
    createModel(payload: OllamaCreateRequest): Promise<void>;
    copyModel(source: string, destination: string): Promise<void>;
    pushModel(modelName: string): Promise<void>;
    generateEmbeddings(payload: OllamaEmbeddingsRequest): Promise<OllamaEmbeddingsResponse>;
    listRunningModels(): Promise<{
        models: Record<string, unknown>[];
    }>;
    unloadModel(modelName: string): Promise<void>;
    unloadAllModels(): Promise<void>;
    getVersion(): Promise<{
        version: string;
    }>;
    generateChatResponse(request: OllamaChatRequest): Promise<OllamaChatResponse>;
    generateChatStreamResponse(request: OllamaChatRequest, onChunk: (chunk: OllamaChatResponse) => void, onError: (error: Error) => void, onComplete: () => void): Promise<void>;
    checkBlobExists(digest: string): Promise<boolean>;
    pushBlob(digest: string, data: Buffer | string): Promise<void>;
    generateLegacyEmbeddings(payload: Record<string, unknown>): Promise<{
        embedding: number[];
    }>;
    pullAllModels(): Promise<{
        success: boolean;
        results: {
            name: string;
            success: boolean;
        }[];
    }>;
    pullAllModelsStream(onProgress: (progress: {
        current: number;
        total: number;
        modelName: string;
        status: 'starting' | 'success' | 'error';
        error?: string;
    }) => void, onComplete: () => void, onError: (error: string) => void): Promise<void>;
}
declare const _default: OllamaService;
export default _default;
//# sourceMappingURL=ollamaService.d.ts.map