/**
 * Thinking configuration and suffix handling
 * Manages thinking budget suffixes for CLIProxyAPIPlus
 */
/// <reference types="node" />
/// <reference types="bun-types" />
import type { CLIProxyProvider } from '../types';
import type { ThinkingConfig } from '../../config/unified-config-types';
/** Model tier types for thinking budget defaults */
export type ModelTier = 'opus' | 'sonnet' | 'haiku';
/**
 * Detect tier from model name.
 * Returns 'sonnet' as default if unclear.
 */
export declare function detectTierFromModel(modelName: string): ModelTier;
/**
 * Apply thinking suffix to model name.
 * CLIProxyAPIPlus parses suffixes like model(level) or model(budget).
 *
 * @param model - Base model name
 * @param thinkingValue - Level name (e.g., 'high') or numeric budget
 * @returns Model name with thinking suffix, e.g., "gemini-3.1-pro-preview(high)"
 */
export declare function applyThinkingSuffix(model: string, thinkingValue: string | number): string;
/**
 * Get thinking value for tier based on config.
 * Respects provider-specific overrides if configured.
 */
export declare function getThinkingValueForTier(tier: ModelTier, provider: CLIProxyProvider, thinkingConfig: ThinkingConfig): string;
/**
 * Composite tier config for provider lookup (subset of full CompositeTierConfig)
 */
interface CompositeTierProvider {
    provider?: CLIProxyProvider;
}
/**
 * Apply thinking configuration to env vars.
 * Modifies ANTHROPIC_MODEL and tier models with thinking suffixes.
 *
 * @param envVars - Environment variables to modify
 * @param provider - CLIProxy provider (default provider for base model)
 * @param thinkingOverride - Optional CLI override (takes priority over config)
 * @param compositeTierThinking - Optional per-tier thinking overrides for composite variants
 * @param compositeTiers - Optional per-tier provider config for composite variants
 * @returns Modified env vars with thinking suffixes applied
 */
export declare function applyThinkingConfig(envVars: NodeJS.ProcessEnv, provider: CLIProxyProvider, thinkingOverride?: string | number, compositeTierThinking?: {
    opus?: string;
    sonnet?: string;
    haiku?: string;
}, compositeTiers?: {
    opus?: CompositeTierProvider;
    sonnet?: CompositeTierProvider;
    haiku?: CompositeTierProvider;
}): NodeJS.ProcessEnv;
export {};
//# sourceMappingURL=thinking-config.d.ts.map