import type { QAStudioReporterOptions, CreateTestRunRequest, CreateTestRunResponse, SubmitTestResultsRequest, SubmitTestResultsResponse, CompleteTestRunRequest, CompleteTestRunResponse } from './types'; export declare class QAStudioAPIClient { private readonly apiUrl; private readonly apiKey; private readonly maxRetries; private readonly timeout; private readonly verbose; private readonly httpAgent; private readonly httpsAgent; constructor(options: QAStudioReporterOptions); /** * Create a new test run */ createTestRun(request: CreateTestRunRequest): Promise; /** * Submit test results to an existing test run */ submitTestResults(request: SubmitTestResultsRequest): Promise; /** * Complete a test run */ completeTestRun(request: CompleteTestRunRequest): Promise; /** * Upload an attachment using multipart/form-data */ uploadAttachment(testResultId: string, name: string, contentType: string, data: Buffer, type?: string): Promise<{ attachment: { id: string; filename: string; url: string; size: number; mimeType: string; }; }>; /** * Make an HTTP request with retry logic */ private request; /** * Make a single HTTP request */ private makeRequest; /** * Upload multipart/form-data request */ private uploadMultipart; /** * Make a multipart/form-data HTTP request */ private makeMultipartRequest; /** * Sleep for specified milliseconds */ private sleep; /** * Log message if verbose mode is enabled */ private log; } /** * Custom error class for API errors */ export declare class APIError extends Error { readonly statusCode: number; constructor(statusCode: number, message: string); } //# sourceMappingURL=api-client.d.ts.map