/**
 * API client for models.dev
 * Fetches and caches model metadata
 */
import type { AIProviderConfig, ProviderConfig } from '../types/config.js';
export declare function setSessionContextLimit(limit: number | null): void;
export declare function getSessionContextLimit(): number | null;
export declare function resetSessionContextLimit(): void;
export type ContextLimitSource = 'session' | 'provider-model-config' | 'provider-config' | 'env' | 'model-lookup' | 'unknown';
export interface ModelContextLimitOptions {
    providerConfig?: AIProviderConfig | ProviderConfig;
}
export interface ResolvedContextLimit {
    limit: number | null;
    source: ContextLimitSource;
}
/**
 * Get context limit for a model.
 * Resolution order:
 * 1. Session override (from /context-max command)
 * 2. Provider model config override
 * 3. Provider default context window
 * 4. NANOCODER_CONTEXT_LIMIT env variable
 * 5. models.dev lookup / hardcoded Ollama defaults
 * 6. null (unknown)
 */
export declare function resolveModelContextLimit(modelId: string, options?: ModelContextLimitOptions): Promise<ResolvedContextLimit>;
export declare function getModelContextLimit(modelId: string, options?: ModelContextLimitOptions): Promise<number | null>;
//# sourceMappingURL=models-dev-client.d.ts.map