import { CancellablePromise } from '@theintern/common'; import { Executor } from './executors/Executor'; import Deferred from './Deferred'; import { InternError } from './types'; import { Remote } from './executors/Node'; import Suite from './Suite'; export default class Test implements TestProperties { name: string; parent: Suite; skipped: string | undefined; test: TestFunction; error: InternError | undefined; suiteError: InternError | undefined; protected _hasPassed: boolean; protected _isAsync: boolean; protected _timeout: number | undefined; protected _runTask: CancellablePromise | undefined; protected _timeElapsed: number | undefined; protected _timer: any | undefined; protected _usesRemote: boolean; constructor(options: TestOptions & { timeElapsed?: number; hasPassed?: boolean; }); readonly executor: Executor; readonly hasPassed: boolean; readonly id: string; readonly isAsync: boolean; readonly parentId: string; readonly remote: Remote; readonly sessionId: string; readonly timeElapsed: number | undefined; timeout: number; async(timeout?: number, numCallsUntilResolution?: number): Deferred; restartTimeout(timeout?: number): void; run(): CancellablePromise; skip(message?: string): void; toJSON(): { [key: string]: any; }; } export declare function isTest(value: any): value is Test; export declare function isTestOptions(value: any): value is TestOptions; export interface TestFunction { (this: Test, test: Test): void | PromiseLike; } export declare function isTestFunction(value: any): value is TestFunction; export interface TestProperties { hasPassed: boolean; name: string; parent: Suite; skipped: string | undefined; test: TestFunction; timeout: number; } export declare type TestOptions = Partial & { name: string; test: TestFunction; }; export declare const SKIP: any;