import { SuiteStatusEvent } from "./enums"; import { FlagpoleExecution } from "../flagpole-execution"; import { ClassConstructor, KeyValue } from "./generic-types"; import { iScenario, ScenarioCallback, ScenarioInitOptions, ScenarioMapper } from "./iscenario"; import { ScenarioType } from "../scenario-types"; export declare type SuiteStatusCallback = (suite: iSuite, statusEvent: SuiteStatusEvent) => any; export declare type SuiteAsyncCallback = (suite: iSuite) => Promise; export declare type SuiteSyncCallback = (suite: iSuite) => void; export declare type SuiteCallback = SuiteAsyncCallback | SuiteSyncCallback; export declare type SuiteCallbackAndMessage = { message: string; callback: SuiteCallback; }; export interface iSuite { scenarios: iScenario[]; baseUrl: URL | null; failCount: number; hasPassed: boolean; hasFailed: boolean; hasExecuted: boolean; hasFinished: boolean; totalDuration: number | null; executionDuration: number | null; maxScenarioDuration: number; maxSuiteDuration: number; concurrencyLimit: number; title: string; finished: Promise; executionOptions: FlagpoleExecution; import(scenario: iScenario): iScenario; subscribe(callback: SuiteStatusCallback): this; verifyCert(verify: boolean): this; verifySslCert(verify: boolean): this; wait(bool?: boolean): this; print(exitAfterPrint?: boolean): void; scenario(title: string, type: ClassConstructor, opts?: KeyValue): T; scenario(title: string, type: ScenarioType, opts?: KeyValue): T; base(url: string | KeyValue): this; execute(): this; beforeAll(callback: SuiteCallback): this; beforeEach(callback: ScenarioCallback): this; afterEach(callback: ScenarioCallback): this; afterAll(callback: SuiteCallback): this; success(callback: SuiteCallback): this; failure(callback: SuiteCallback): this; finally(callback: SuiteCallback): this; promise(): Promise; mapScenarios(key: string, mapper: ScenarioMapper): Promise; mapScenarios(arr: any[], mapper: ScenarioMapper): Promise; push(key: string, value: any): this; set(key: string, value: T): this; get(key: string): T; template(templateOptions: ScenarioInitOptions): (title: string, scenarioOptions: ScenarioInitOptions) => T; }