/**
 * Shared extended context helpers used by CLI + UI.
 */
/** Extended context suffix recognized by Claude Code. */
export declare const EXTENDED_CONTEXT_SUFFIX = "[1m]";
export declare const ANTHROPIC_MODEL_ENV_KEYS: readonly ["ANTHROPIC_MODEL", "ANTHROPIC_DEFAULT_OPUS_MODEL", "ANTHROPIC_DEFAULT_SONNET_MODEL", "ANTHROPIC_DEFAULT_HAIKU_MODEL"];
export type AnthropicModelEnvKey = (typeof ANTHROPIC_MODEL_ENV_KEYS)[number];
/** Check if model is a native Gemini model (auto-enabled behavior). */
export declare function isNativeGeminiModel(modelId: string): boolean;
/** Check if model already has [1m] suffix. */
export declare function hasExtendedContextSuffix(model: string): boolean;
/** Apply [1m] suffix to model if not already present. */
export declare function applyExtendedContextSuffix(model: string): string;
/** Strip [1m] suffix from model string. */
export declare function stripExtendedContextSuffix(model: string): string;
/** True when key belongs to Anthropic model mapping state. */
export declare function isAnthropicModelEnvKey(key: string): key is AnthropicModelEnvKey;
/** Strip transient config suffixes so model IDs can be checked against catalogs. */
export declare function stripModelConfigurationSuffixes(modelId: string): string;
/** Whether any saved Anthropic model mapping explicitly requests [1m]. */
export declare function hasAnthropicExtendedContextEnabled(env: Partial<Record<string, string | undefined>>): boolean;
/** Apply or strip [1m] across Anthropic model mappings while honoring compatibility. */
export declare function applyExtendedContextPreferenceToAnthropicModels<T extends Record<string, string | undefined>>(env: T, enabled: boolean, options?: {
    supportsExtendedContext?: (modelId: string, key: AnthropicModelEnvKey) => boolean;
}): T;
/** Detect Claude model identifiers, regardless of transient [1m]/(thinking) suffixes. */
export declare function isClaudeModelId(modelId: string): boolean;
/**
 * Conservative Claude long-context support heuristic for generic API profile flows.
 * Haiku stays plain; Opus/Sonnet default to opt-in [1m].
 */
export declare function likelySupportsClaudeExtendedContext(modelId: string): boolean;
//# sourceMappingURL=extended-context-utils.d.ts.map