import type { Config } from '../config';
/**
 * Response payload from the TestDino API when uploading a report
 */
export interface ReportUploadResponse {
    testRunId: string;
    viewUrl?: string;
    status?: string;
    [key: string]: unknown;
}
/**
 * Client for communicating with the TestDino API
 */
export declare class ApiClient {
    private readonly baseUrl;
    private readonly apiKey;
    constructor(config: Config);
    /**
     * Headers to include on every API request
     */
    private getHeaders;
    /**
     * Upload a JSON payload to the TestDino API with enhanced error handling
     * @param payload The data to upload (report + metadata)
     */
    uploadReport(payload: unknown): Promise<ReportUploadResponse>;
    /**
     * Handle HTTP error responses with detailed error messages
     */
    private handleHttpError;
    /**
     * Parse and validate the upload response
     */
    private parseUploadResponse;
    /**
     * Health check endpoint to verify API connectivity
     */
    healthCheck(): Promise<boolean>;
}
//# sourceMappingURL=api.d.ts.map