import type { AgentModel, AgentModelEvent, GatewayConfig, GatewayModelDefinition, GatewayModelHandleOptions, GatewayModelSelection, GatewayProviderRegistration, GatewayStreamRequest } from "@cline/shared"; import { GatewayRegistry } from "./registry"; export type * from "@cline/shared"; export declare const DEFAULT_GATEWAY_MAX_OUTPUT_TOKENS = 32000; export interface Gateway { registerProvider(registration: GatewayProviderRegistration): this; configureProvider(config: NonNullable[number]): this; listProviders(): ReturnType; listModels(providerId?: string): ReturnType; createAgentModel(selection: GatewayModelSelection, options?: GatewayModelHandleOptions): AgentModel; stream(request: GatewayStreamRequest): Promise>; } export declare function resolveGatewayRequestMaxTokens(input: { requestedMaxTokens?: number; model: Pick; estimatedInputTokens: number; defaultMaxOutputTokens?: number; outputReserveTokens?: number; reasoningBudgetTokens?: number; onContextOverflow?: (details: { contextWindow: number; estimatedInputTokens: number; reserveTokens: number; }) => void; }): number | undefined; export declare class DefaultGateway implements Gateway { private readonly registry; private readonly logger; private readonly telemetry; constructor(config?: GatewayConfig); registerProvider(registration: GatewayProviderRegistration): this; configureProvider(config: NonNullable[number]): this; listProviders(): import("@cline/shared").GatewayProviderManifest[]; listModels(providerId?: string): GatewayModelDefinition[]; createAgentModel(selection: GatewayModelSelection, options?: GatewayModelHandleOptions): AgentModel; stream(request: GatewayStreamRequest): Promise>; } export declare function createGateway(config?: GatewayConfig): DefaultGateway; //# sourceMappingURL=gateway.d.ts.map