import type { ClientRequest } from "http"; import type { AttachmentLink, CiDescriptor, EnvironmentIdentity, TestError, TestResult, TestStatus } from "@allurereport/core-api"; import type { QualityGateValidationResult } from "@allurereport/plugin-api"; import { AxiosError, type AxiosResponse } from "axios"; import type { RetryOptions } from "./errors.js"; import type { LaunchGitContextDto } from "./gitFlow/index.js"; import type { AttachmentForUpload, AttachmentsResolver, FixtureResolver, LaunchCategoryBulkItem, LaunchCategoryBulkResult, TestOpsClientParams, TestOpsNamedEnv, TestOpsPluginTestResult } from "./model.js"; declare class TestOpsClientError extends AxiosError<{ message: string; timestamp: number; status: number; }> { response: AxiosResponse<{ message: string; timestamp: number; status: number; }>; request: ClientRequest; } export declare class TestOpsClient { #private; constructor(params: TestOpsClientParams); isTestOpsClientError(error: unknown): error is TestOpsClientError; get launchUrl(): string | undefined; get launchId(): number | undefined; closeLaunch(launchId: number): Promise; reopenLaunch(launchId: number): Promise; createLaunchCategoriesBulk(launchId: number, items: LaunchCategoryBulkItem[]): Promise; startUpload(ci: CiDescriptor, jobRunId?: number): Promise; stopUpload(ci: CiDescriptor, status: TestStatus): Promise; createLaunch(launchName: string, launchTags: string[], gitContext?: LaunchGitContextDto): Promise; attachToLaunch(launchId: number): void; checkLaunchProgress(): Promise; createSession(environment?: Record, reopenClosedLaunch?: boolean): Promise; getNamedEnvFor(id: string): TestOpsNamedEnv | undefined; createNamedEnvs(environments: EnvironmentIdentity[], onProgress?: (percent: number, total: number) => void): Promise; uploadGlobalAttachments(params: { attachments: AttachmentLink[]; attachmentsResolver: (attachment: AttachmentLink) => Promise; onProgress?: (percent: number, total: number) => void; }): Promise; uploadGlobalErrors(errors: TestError[], onProgress?: (percent: number, total: number) => void): Promise; uploadTestResults(params: { trs: TestOpsPluginTestResult[]; environments: EnvironmentIdentity[]; attachmentsResolver: AttachmentsResolver; fixturesResolver: FixtureResolver; onProgress?: () => void; onRetry?: RetryOptions["onRetry"]; onChunkUploaded?: (uploadedChunkTrs: TestResult[]) => void; }): Promise; uploadQualityGateResults(results: QualityGateValidationResult[], onProgress?: (percent: number, total: number) => void): Promise; } export {};