import { DescribeDefinition, ItDefinition, TestSuite } from "./_test_suite"; export type { DescribeDefinition, ItDefinition, TestSuite }; /** The arguments for an ItFunction. */ export declare type ItArgs = [options: ItDefinition] | [ name: string, options: Omit, "name"> ] | [ name: string, fn: (this: T) => void | Promise ] | [fn: (this: T) => void | Promise] | [ name: string, options: Omit, "fn" | "name">, fn: (this: T) => void | Promise ] | [ options: Omit, "fn">, fn: (this: T) => void | Promise ] | [ options: Omit, "fn" | "name">, fn: (this: T) => void | Promise ] | [ suite: TestSuite, name: string, options: Omit, "name" | "suite"> ] | [ suite: TestSuite, name: string, fn: (this: T) => void | Promise ] | [ suite: TestSuite, fn: (this: T) => void | Promise ] | [ suite: TestSuite, name: string, options: Omit, "fn" | "name" | "suite">, fn: (this: T) => void | Promise ] | [ suite: TestSuite, options: Omit, "fn" | "suite">, fn: (this: T) => void | Promise ] | [ suite: TestSuite, options: Omit, "fn" | "name" | "suite">, fn: (this: T) => void | Promise ]; /** Registers an individual test case. */ export interface it { (...args: ItArgs): void; /** Registers an individual test case with only set to true. */ only(...args: ItArgs): void; /** Registers an individual test case with ignore set to true. */ ignore(...args: ItArgs): void; } /** Registers an individual test case. */ export declare function it(...args: ItArgs): void; export declare namespace it { var only: (...args: ItArgs) => void; var ignore: (...args: ItArgs) => void; } /** Run some shared setup before all of the tests in the suite. */ export declare function beforeAll(fn: (this: T) => void | Promise): void; /** Run some shared teardown after all of the tests in the suite. */ export declare function afterAll(fn: (this: T) => void | Promise): void; /** Run some shared setup before each test in the suite. */ export declare function beforeEach(fn: (this: T) => void | Promise): void; /** Run some shared teardown after each test in the suite. */ export declare function afterEach(fn: (this: T) => void | Promise): void; /** The arguments for a DescribeFunction. */ export declare type DescribeArgs = [options: DescribeDefinition] | [name: string] | [ name: string, options: Omit, "name"> ] | [name: string, fn: () => void] | [fn: () => void] | [ name: string, options: Omit, "fn" | "name">, fn: () => void ] | [ options: Omit, "fn">, fn: () => void ] | [ options: Omit, "fn" | "name">, fn: () => void ] | [ suite: TestSuite, name: string ] | [ suite: TestSuite, name: string, options: Omit, "name" | "suite"> ] | [ suite: TestSuite, name: string, fn: () => void ] | [ suite: TestSuite, fn: () => void ] | [ suite: TestSuite, name: string, options: Omit, "fn" | "name" | "suite">, fn: () => void ] | [ suite: TestSuite, options: Omit, "fn" | "suite">, fn: () => void ] | [ suite: TestSuite, options: Omit, "fn" | "name" | "suite">, fn: () => void ]; /** Registers a test suite. */ export interface describe { (...args: DescribeArgs): TestSuite; /** Registers a test suite with only set to true. */ only(...args: DescribeArgs): TestSuite; /** Registers a test suite with ignore set to true. */ ignore(...args: DescribeArgs): TestSuite; } /** Registers a test suite. */ export declare function describe(...args: DescribeArgs): TestSuite; export declare namespace describe { var only: (...args: DescribeArgs) => TestSuite; var ignore: (...args: DescribeArgs) => TestSuite; }