import { IngestSmartTestExecutionReportResponse, SmartTestExecutionReport, SmartTestExecutionJobDetail } from './types'; /** * HTTP client for communicating with the TestChimp backend API */ export declare class TestChimpApiClient { private client; private apiKey; private projectId; private verbose; /** Upper bound for typical JSON POSTs (step_end, repair_*, exploration_end, etc.). */ private readonly requestTimeoutMs; /** Upper bound for large bodies or server-heavy handlers (test_end, ingest, journey_execution_end). */ private readonly longRequestTimeoutMs; constructor(apiUrl: string, apiKey: string, projectId: string, verbose?: boolean); /** Resolved axios base URL (ingest / upload_attachment / ExploreChimp server routes). */ getBaseUrl(): string; /** * Send a test execution report to the TestChimp backend */ ingestExecutionReport(report: SmartTestExecutionReport): Promise; /** * Upload a single attachment (e.g. compressed screenshot) to the backend. * Uses multipart/form-data and returns the parsed response (expects { gcpPath }). */ uploadAttachment(buffer: Buffer, contentType: string, options?: { filename?: string; timeoutMs?: number; maxRetries?: number; }): Promise<{ gcpPath: string; }>; /** * Platform mode: send full job detail on step end (blind upsert). * POST {backend}/api/platform/step_end with jobId and jobDetail. */ platformStepEnd(jobId: string, jobDetail: SmartTestExecutionJobDetail): Promise; /** * Local ExploreChimp: persist journey log and mark the journey execution completed. * POST /smart-test/explorechimp/journey_execution_end */ explorechimpJourneyExecutionEnd(body: { journeyId: string; journeyExecutionId: string; explorationId: string; steps: SmartTestExecutionJobDetail['steps']; smartTestStatus: number; errorMessage?: string; }): Promise; /** * Local ExploreChimp: mark exploration completed and refresh aggregated result. * POST /smart-test/explorechimp/exploration_end */ explorechimpExplorationEnd(body: { explorationId: string; }): Promise; platformTestEnd(jobId: string, jobDetail: SmartTestExecutionJobDetail): Promise; /** * Check if the client is properly configured */ isConfigured(): boolean; /** * Repair mode: emit a single progress event (step-level). * POST {backend}/api/platform/repair_step_end with { jobId, event }. */ repairStepEnd(jobId: string, event: Record): Promise; /** * Repair mode: mark end of one healer run (can be emitted multiple times). * POST {backend}/api/platform/repair_test_end with { jobId, summary }. */ repairTestEnd(jobId: string, summary: Record): Promise; } //# sourceMappingURL=api-client.d.ts.map