import { TestingExecutable } from './testing-executable.abstract';
import { CounterConfig } from '../type/counter-config.type';
import { ExecutableTests } from '../interface/executable-tests.interface';
export declare class TestingIt<Expectations extends string = string, CounterActive extends boolean = boolean, CounterDescription extends boolean = boolean> extends TestingExecutable<CounterActive, CounterDescription> {
    #private;
    static define(expectation: string, assertion: jasmine.ImplementationCallback, timeout?: number | undefined): (execute?: boolean) => false | void;
    constructor(allow?: boolean, executable?: ExecutableTests['it'], counter?: CounterConfig<CounterActive, CounterDescription>);
    it<Expectation extends string>(expectation: Expectations | Expectation, assertion: jasmine.ImplementationCallback, execute?: boolean, timeout?: number): this;
    fit<Expectation extends string>(expectation: Expectations | Expectation, assertion: jasmine.ImplementationCallback, timeout?: number): this;
    xit<Expectation extends string>(expectation: Expectations | Expectation, assertion: jasmine.ImplementationCallback, timeout?: number): this;
}
