export declare class Agent { private client; private messages; private apiKey; private model; private temperature; private sessionAutoApprove; private systemMessage; private configManager; private onToolStart?; private onToolEnd?; private onToolApproval?; private onThinkingText?; private onFinalMessage?; private onMaxIterations?; private onApiUsage?; private requestCount; private currentAbortController; private isInterrupted; private constructor(); static create(model: string, temperature: number, systemMessage: string | null, debug?: boolean): Promise; private buildDefaultSystemMessage; setToolCallbacks(callbacks: { onToolStart?: (name: string, args: Record) => void; onToolEnd?: (name: string, result: any) => void; onToolApproval?: (toolName: string, toolArgs: Record) => Promise<{ approved: boolean; autoApproveSession?: boolean; }>; onThinkingText?: (content: string) => void; onFinalMessage?: (content: string) => void; onMaxIterations?: (maxIterations: number) => Promise; onApiUsage?: (usage: { prompt_tokens: number; completion_tokens: number; total_tokens: number; }) => void; }): void; setApiKey(apiKey: string): void; saveApiKey(apiKey: string): void; clearApiKey(): void; clearHistory(): void; setModel(model: string): void; getCurrentModel(): string; setSessionAutoApprove(enabled: boolean): void; interrupt(): void; chat(userInput: string): Promise; private executeToolCall; } //# sourceMappingURL=agent.d.ts.map