/**
 * Model context window catalog — known context sizes for popular models.
 *
 * Used by the fallback system to skip models whose context window is too
 * small for the current conversation.
 *
 * Context window values are in tokens. Sources: official documentation.
 *
 * @module
 */
export type ModelContextSpec = {
    /** Context window size in tokens. */
    contextWindow: number;
};
/**
 * Look up the context window size for a model.
 *
 * Tries exact match first, then prefix matching (e.g. "claude-sonnet-4-20250514"
 * matches "claude-sonnet-4"). Returns undefined for unknown models.
 */
export declare function getModelContextWindow(modelId: string): number | undefined;
/**
 * Check if a model's context window can accommodate the estimated token count.
 *
 * Uses a 1.1x safety margin — the model is considered viable if its context
 * window is at least 110% of the estimated tokens.
 *
 * Returns true for unknown models (fail-open: don't skip what we can't measure).
 */
export declare function modelFitsContext(modelId: string, estimatedTokens: number): boolean;
/**
 * Check if a model supports tool/function calling.
 *
 * Returns false only for models explicitly listed as tool-incompatible.
 * Returns true for unknown models (fail-open: don't skip what we can't verify).
 */
export declare function modelSupportsToolCalling(modelId: string): boolean;
