export type { ChatMessage, EnvironmentMsg, FuncCallMsg, FuncResultMsg, PromptingMsg, SayingMsg, TellaskCarryoverMsg, TellaskResultMsg, ThinkingMsg, TransientGuideMsg, } from '@longrun-ai/kernel/types/chat-message';
export interface ModelInfo {
    name?: string;
    default_thinking?: boolean;
    supports_thinking?: boolean;
    supports_tool_choice?: boolean;
    context_length?: number;
    input_length?: number;
    output_length?: number;
    optimal_max_tokens?: number;
    critical_max_tokens?: number;
    caution_remediation_cadence_generations?: number;
    context_window?: string;
    [key: string]: unknown;
}
type ModelParamOptionBase = {
    description: string;
    prominent?: boolean;
};
export type ModelParamOption = (ModelParamOptionBase & {
    type: 'number';
    min?: number;
    max?: number;
    default?: number;
}) | (ModelParamOptionBase & {
    type: 'integer';
    min?: number;
    max?: number;
    default?: number;
}) | (ModelParamOptionBase & {
    type: 'boolean';
    default?: boolean;
}) | (ModelParamOptionBase & {
    type: 'boolean|object';
    default?: boolean;
}) | (ModelParamOptionBase & {
    type: 'string';
    default?: string;
}) | (ModelParamOptionBase & {
    type: 'string_array';
    default?: string[];
}) | (ModelParamOptionBase & {
    type: 'record_number';
    default?: Record<string, number>;
}) | (ModelParamOptionBase & {
    type: 'object';
}) | (ModelParamOptionBase & {
    type: 'enum';
    values: string[];
    value_labels?: Record<string, string>;
    default?: string;
});
export type ProviderModelParamOptions = {
    codex?: Record<string, ModelParamOption>;
    openai?: Record<string, ModelParamOption>;
    'openai-compatible'?: Record<string, ModelParamOption>;
    anthropic?: Record<string, ModelParamOption>;
    'anthropic-compatible'?: Record<string, ModelParamOption>;
};
export type ProviderApiType = 'codex' | 'anthropic' | 'anthropic-compatible' | 'mock' | 'openai' | 'openai-compatible';
export type ProviderConfig = {
    name: string;
    apiType: ProviderApiType;
    apiQuirks?: string | string[];
    baseUrl: string;
    apiKeyEnvVar: string;
    tool_result_max_chars?: number;
    llm_retry_aggressive_max_retries?: number;
    llm_retry_initial_delay_ms?: number;
    llm_retry_conservative_delay_ms?: number;
    llm_retry_backoff_multiplier?: number;
    llm_retry_max_delay_ms?: number;
    tech_spec_url?: string;
    api_mgmt_url?: string;
    model_param_options?: ProviderModelParamOptions;
    models: Record<string, ModelInfo>;
};
/**
 * LlmConfig
 *
 * Wraps provider configurations and exposes lookup helpers.
 */
export declare class LlmConfig {
    private _providers;
    constructor(providers: Record<string, ProviderConfig>);
    get providers(): Record<string, ProviderConfig>;
    getProvider(providerKey: string): ProviderConfig | undefined;
}
export declare namespace LlmConfig {
    function load(): Promise<LlmConfig>;
}
export declare function getBuiltinDefaultsYamlPath(): string;
export declare function readBuiltinDefaultsYamlRaw(): Promise<string>;
