///
import type { AxiosProxyConfig, AxiosRequestConfig } from 'axios';
import type { IAxiosRetryConfig } from 'axios-retry';
import type { AgentOptions } from 'https';
import { Attribute } from './common';
import { LAUNCH_MODES } from '../constants';
export interface RestClientConfig extends AxiosRequestConfig {
agent?: AgentOptions;
retry?: number | IAxiosRetryConfig;
proxy?: any | AxiosProxyConfig | false;
noProxy?: string;
}
interface ClientConfig {
project: string;
endpoint: string;
launch: string;
apiKey?: string;
oauth?: {
tokenEndpoint: string;
username: string;
password: string;
clientId: string;
clientSecret?: string;
scope?: string;
};
debug?: boolean;
isLaunchMergeRequired?: boolean;
restClientConfig?: RestClientConfig;
headers?: Record;
launchUuidPrint?: boolean;
launchUuidPrintOutput?: string;
}
export interface AttachmentsConfig {
uploadVideo?: boolean;
uploadTrace?: boolean;
}
export interface ReportPortalConfig extends ClientConfig, AttachmentsConfig {
launchId?: string;
attributes?: Array;
description?: string;
rerun?: boolean;
rerunOf?: string;
mode?: LAUNCH_MODES;
skippedIssue?: boolean;
includeTestSteps?: boolean;
includePlaywrightProjectNameToCodeReference?: boolean;
extendTestDescriptionWithLastError?: boolean;
}
export {};