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 LlamaCppProviderOptions extends OpenAICompatOptions {
    nativeFetch?: NativeFetch | undefined;
    compatProvider?: LLMProvider | undefined;
}
export declare class LlamaCppProvider implements LLMProvider {
    readonly name: string;
    readonly models: string[];
    readonly capabilities?: Partial<ProviderCapability> | undefined;
    private readonly defaultModel;
    private readonly reasoningFormat;
    private readonly nativeChatUrl;
    private readonly nativeFetch;
    private readonly compatProvider;
    private readonly apiKey;
    private readonly defaultHeaders?;
    constructor(opts: LlamaCppProviderOptions);
    isConfigured(): boolean;
    chat(params: ChatRequest): Promise<ChatResponse>;
    embed(request: ProviderEmbeddingRequest): Promise<ProviderEmbeddingResult>;
    describeRuntime(deps: ProviderRuntimeMetadataDeps): Promise<ProviderRuntimeMetadata>;
    private chatViaNonStreamingCompat;
}
export {};
//# sourceMappingURL=llama-cpp.d.ts.map