import { type LanguageModel } from "ai";
import type { AIProviderName } from "../constants/enums.js";
import { BaseProvider } from "../core/baseProvider.js";
import type { NeurolinkCredentials, StreamOptions, StreamResult, ValidationSchema } from "../types/index.js";
/**
 * llama.cpp Provider
 * Wraps a llama-server process (https://github.com/ggerganov/llama.cpp) that
 * exposes an OpenAI-compatible API at http://localhost:8080/v1 by default.
 * llama-server hosts ONE model loaded at startup; /v1/models returns just that.
 */
export declare class LlamaCppProvider extends BaseProvider {
    private model?;
    private readonly requestedModelName?;
    private baseURL;
    private apiKey;
    private discoveredModel?;
    private llamaCppClient;
    constructor(modelName?: string, sdk?: unknown, _region?: string, credentials?: NeurolinkCredentials["llamacpp"]);
    private getAvailableModels;
    protected getAISDKModel(signal?: AbortSignal): Promise<LanguageModel>;
    protected executeStream(options: StreamOptions, _analysisSchema?: ValidationSchema): Promise<StreamResult>;
    private executeStreamInner;
    protected getProviderName(): AIProviderName;
    protected getDefaultModel(): string;
    protected formatProviderError(error: unknown): Error;
    validateConfiguration(): Promise<boolean>;
    getConfiguration(): {
        provider: AIProviderName;
        model: string;
        defaultModel: string;
        baseURL: string;
    };
}
export default LlamaCppProvider;
