/** * Claude Code Process Manager * * Core module for spawning and managing Claude CLI processes. */ import type { ProcessManagerConfig, ProcessResult, ProcessStatus } from './types.js'; /** * Claude CLI Process Manager. */ export declare class ClaudeCodeProcessManager { private config; private semaphore; private circuitBreaker; private retryExecutor; private activeProcesses; private isRateLimited; private rateLimitMessage?; private metrics; private tracer; private isShuttingDown; constructor(config: ProcessManagerConfig); /** * Check if user is authenticated with Claude Code. */ checkAuth(): Promise<{ authenticated: boolean; error?: string; cliVersion?: string; }>; /** * Run a prompt using Claude Code CLI. */ run(prompt: string, options?: { workingDirectory?: string; timeout?: number; model?: 'sonnet' | 'opus'; sessionId?: string; }): Promise; /** * Execute prompt with CLI. */ private executePrompt; /** * Spawn a Claude CLI process. */ private spawn; /** * Detect rate limit errors from CLI output. */ private isRateLimitError; /** * Detect auth errors from CLI output. */ private isAuthError; /** * Check if error is retryable. */ private isRetryable; /** * Categorize error type. */ private categorizeError; /** * Get current status. */ getStatus(): ProcessStatus; /** * Reset rate limit flag (after user switches accounts). */ resetRateLimitFlag(): void; /** * Get metrics. */ getMetrics(): { counters: Record; gauges: Record; histograms: Record; }; /** * Graceful shutdown. */ shutdown(): Promise; /** * Health check. */ healthCheck(): Promise<{ healthy: boolean; details: Record; }>; } /** * Create a process manager with configuration. */ export declare function createProcessManager(config: Partial & { workingDirectory: string; }): ClaudeCodeProcessManager; //# sourceMappingURL=process-manager.d.ts.map