import { ChatCompletionMessageToolCall } from "openai/resources"; import { ChatCompletionMessageParam, ChatCompletionFunctionTool } from "openai/resources.js"; import type { GatewayConfig, ModelConfig } from "../types/index.js"; import { type ClaudeUsage } from "../utils/cacheControlUtils.js"; import { type SystemPromptBlock } from "../prompts/index.js"; /** * Resets the rate limiter state. Primarily used for testing. */ export declare function resetRateLimiter(): void; export interface CallAgentOptions { gatewayConfig: GatewayConfig; modelConfig: ModelConfig; messages: ChatCompletionMessageParam[]; sessionId?: string; abortSignal?: AbortSignal; workdir: string; tools?: ChatCompletionFunctionTool[]; model?: string; systemPrompt?: string | SystemPromptBlock[]; maxTokens?: number; toolChoice?: "auto" | "none" | "required" | { type: "function"; function: { name: string; }; }; onContentUpdate?: (content: string) => void; onToolUpdate?: (toolCall: { id: string; name: string; parameters: string; parametersChunk?: string; stage?: "start" | "streaming" | "running" | "end"; }) => void; onReasoningUpdate?: (content: string) => void; } export interface CallAgentResult { content?: string; tool_calls?: ChatCompletionMessageToolCall[]; reasoning_content?: string; usage?: ClaudeUsage; finish_reason?: "stop" | "length" | "tool_calls" | "content_filter" | "function_call" | null; response_headers?: Record; additionalFields?: Record; } export declare function callAgent(options: CallAgentOptions): Promise; export interface CompactMessagesOptions { gatewayConfig: GatewayConfig; modelConfig: ModelConfig; messages: ChatCompletionMessageParam[]; abortSignal?: AbortSignal; model?: string; customInstructions?: string; } export interface CompactMessagesResult { content: string; usage?: { prompt_tokens: number; completion_tokens: number; total_tokens: number; }; } export declare function compactMessages(options: CompactMessagesOptions): Promise; export interface ProcessWebContentOptions { gatewayConfig: GatewayConfig; modelConfig: ModelConfig; content: string; prompt: string; abortSignal?: AbortSignal; model?: string; } export interface ProcessWebContentResult { content: string; usage?: { prompt_tokens: number; completion_tokens: number; total_tokens: number; }; } export declare function processWebContent(options: ProcessWebContentOptions): Promise; export interface BtwOptions { gatewayConfig: GatewayConfig; modelConfig: ModelConfig; messages: ChatCompletionMessageParam[]; question: string; abortSignal?: AbortSignal; model?: string; } export interface BtwResult { content: string; usage?: { prompt_tokens: number; completion_tokens: number; total_tokens: number; }; } export declare function btw(options: BtwOptions): Promise; export interface EvaluateGoalOptions { gatewayConfig: GatewayConfig; modelConfig: ModelConfig; model: string; goalCondition: string; messages: ChatCompletionMessageParam[]; abortSignal?: AbortSignal; } export interface EvaluateGoalResult { content: string; usage?: { prompt_tokens: number; completion_tokens: number; total_tokens: number; }; } export declare function evaluateGoal(options: EvaluateGoalOptions): Promise;