import { HrtMeasurement } from 'early'; export declare type TTestStatus = 'success' | 'error' | 'pending' | 'errorAfterSuccess'; export interface ITestFunction { (): Promise; } export declare class TapTest { description: string; parallel: boolean; hrtMeasurement: HrtMeasurement; testFunction: ITestFunction; status: TTestStatus; /** * constructor */ constructor(optionsArg: { description: string; testFunction: ITestFunction; parallel: boolean; }); /** * run the test */ run(testKeyArg: number): Promise; } export declare class Tap { private _tests; /** * Normal test function, will run one by one * @param testDescription - A description of what the test does * @param testFunction - A Function that returns a Promise and resolves or rejects */ test(testDescription: string, testFunction: ITestFunction): Promise; /** * A parallel test that will not be waited for before the next starts. * @param testDescription - A description of what the test does * @param testFunction - A Function that returns a Promise and resolves or rejects */ testParallel(testDescription: string, testFunction: ITestFunction): void; /** * tests leakage * @param testDescription - A description of what the test does * @param testFunction - A Function that returns a Promise and resolves or rejects */ testLeakage(testDescription: string, testFunction: ITestFunction): void; /** * starts the test evaluation */ start(): Promise; /** * handle errors */ threw(err: any): void; } export declare let tap: Tap;