import { z } from 'zod'; import winston from 'winston'; import { IClaudeCodeClient, ClaudeCodeResult as IClaudeCodeResult } from './claude-code-interface'; export declare const ClaudeCodeConfigSchema: z.ZodObject<{ apiKey: z.ZodOptional; useSubscription: z.ZodDefault; projectPath: z.ZodString; maxIterations: z.ZodDefault; timeoutMs: z.ZodDefault; contextWindow: z.ZodDefault; model: z.ZodDefault; temperature: z.ZodDefault; }, "strip", z.ZodTypeAny, { model: string; temperature: number; projectPath: string; useSubscription: boolean; maxIterations: number; timeoutMs: number; contextWindow: number; apiKey?: string | undefined; }, { projectPath: string; apiKey?: string | undefined; model?: string | undefined; temperature?: number | undefined; useSubscription?: boolean | undefined; maxIterations?: number | undefined; timeoutMs?: number | undefined; contextWindow?: number | undefined; }>; export type ClaudeCodeConfig = z.infer; export type ClaudeCodeResult = IClaudeCodeResult; export interface ExecutionContext { workingDirectory: string; environment: Record; previousArtifacts: Array<{ path: string; content: string; }>; } export declare class ClaudeCodeClient implements IClaudeCodeClient { private client; private config; private logger; private currentSession; constructor(config: ClaudeCodeConfig, logger: winston.Logger); execute(task: string, context?: ExecutionContext): Promise; validateEnvironment(): Promise; startSession(sessionId: string): void; endSession(): void; private buildSystemPrompt; private buildUserPrompt; private parseResponse; private extractArtifacts; private determineFileType; private detectSessionEnd; private calculateCost; updateConfig(config: Partial): void; getConfig(): ClaudeCodeConfig; } //# sourceMappingURL=claude-code-client.d.ts.map