import type { AgentConfig } from '../../shared/agent-config.js'; import { type ProviderContextLimitProvider, type ProviderContextLimitRequest, type ProviderContextLimitsResponse } from '../../shared/provider-context-limits.js'; type ConfigurationGate = (provider: ProviderContextLimitProvider, task: () => Promise) => Promise; interface ProviderContextLimitServiceOptions { env?: NodeJS.ProcessEnv; listAgentConfigs?: () => Promise[]>; settings?: ProviderContextLimitSettings; withConfigurationGate?: ConfigurationGate; } interface ProviderContextLimitSettings { getProviderContextLimits(): Promise>>; setProviderContextLimit(provider: ProviderContextLimitProvider, maxTokens: number | null): Promise>>; } export declare class ProviderContextLimitError extends Error { readonly statusCode: 409 | 500; constructor(statusCode: 409 | 500, message: string); } export declare class ProviderContextLimitService { private readonly env; private readonly listAgentConfigs; private readonly settings; private readonly configurationGate; constructor(options?: ProviderContextLimitServiceOptions); status(): Promise; set(input: ProviderContextLimitRequest): Promise; applyForLaunch(provider: ProviderContextLimitProvider, model: string | undefined, env: NodeJS.ProcessEnv): Promise; private configuredModels; } export declare const defaultProviderContextLimitService: ProviderContextLimitService; export {}; //# sourceMappingURL=provider-context-limit.service.d.ts.map