import { AddOptions } from "./add-cucumber-preprocessor-plugin";
import DataTable from "./data_table";
import { ConfigurationFileResolver, ICypressRuntimeConfiguration, IPreprocessorConfiguration } from "./preprocessor-configuration";
import { ICaseHookBody, ICaseHookOptions, IParameterTypeDefinition, IRunHookBody, IRunHookOptions, IStepDefinitionBody, IStepHookBody, IStepHookOptions } from "./public-member-types";
declare function defineStep<T extends unknown[], C extends Mocha.Context>(description: string | RegExp, implementation: IStepDefinitionBody<T, C>): void;
declare function runStepDefinition(world: Mocha.Context, text: string, argument?: DataTable | string): void;
declare function defineParameterType<T, C extends Mocha.Context>(options: IParameterTypeDefinition<T, C>): void;
declare function defineBefore<C extends Mocha.Context>(options: string, fn: ICaseHookBody<C>): void;
declare function defineBefore<C extends Mocha.Context>(options: ICaseHookOptions, fn: ICaseHookBody<C>): void;
declare function defineBefore<C extends Mocha.Context>(fn: ICaseHookBody<C>): void;
declare function defineAfter<C extends Mocha.Context>(options: string, fn: ICaseHookBody<C>): void;
declare function defineAfter<C extends Mocha.Context>(options: ICaseHookOptions, fn: ICaseHookBody<C>): void;
declare function defineAfter<C extends Mocha.Context>(fn: ICaseHookBody<C>): void;
declare function defineBeforeStep<C extends Mocha.Context>(options: string, fn: IStepHookBody<C>): void;
declare function defineBeforeStep<C extends Mocha.Context>(options: IStepHookOptions, fn: IStepHookBody<C>): void;
declare function defineBeforeStep<C extends Mocha.Context>(fn: IStepHookBody<C>): void;
declare function defineAfterStep<C extends Mocha.Context>(options: string, fn: IStepHookBody<C>): void;
declare function defineAfterStep<C extends Mocha.Context>(options: IStepHookOptions, fn: IStepHookBody<C>): void;
declare function defineAfterStep<C extends Mocha.Context>(fn: IStepHookBody<C>): void;
declare function defineBeforeAll<C extends Mocha.Context>(options: IRunHookOptions, fn: IRunHookBody<C>): void;
declare function defineBeforeAll<C extends Mocha.Context>(fn: IRunHookBody<C>): void;
declare function defineAfterAll<C extends Mocha.Context>(options: IRunHookOptions, fn: IRunHookBody<C>): void;
declare function defineAfterAll<C extends Mocha.Context>(fn: IRunHookBody<C>): void;
export declare function attach(data: string | ArrayBuffer, mediaTypeOrOptions?: string | {
    mediaType: string;
    fileName?: string;
}): Cypress.Chainable;
export declare function log(text: string): Cypress.Chainable;
export declare function link(text: string): Cypress.Chainable;
declare function isFeature(): boolean;
declare function doesFeatureMatch(expression: string): boolean;
export { defineAfter as After, defineAfterAll as AfterAll, defineAfterStep as AfterStep, defineBefore as Before, defineBeforeAll as BeforeAll, defineBeforeStep as BeforeStep, DataTable, defineParameterType, defineStep, doesFeatureMatch, defineStep as Given, isFeature, runStepDefinition as Step, defineStep as Then, defineStep as When, };
export { IPreprocessorConfiguration };
export declare function resolvePreprocessorConfiguration(cypressConfig: ICypressRuntimeConfiguration, environment: Record<string, unknown>, implicitIntegrationFolder: string, configurationFileResolver?: ConfigurationFileResolver): Promise<IPreprocessorConfiguration>;
export declare function addCucumberPreprocessorPlugin(on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions, options?: AddOptions): Promise<Cypress.PluginConfigOptions>;
export declare function beforeRunHandler(config: Cypress.PluginConfigOptions): Promise<void>;
export declare function afterRunHandler(config: Cypress.PluginConfigOptions): Promise<void>;
export declare function beforeSpecHandler(config: Cypress.PluginConfigOptions, spec: Cypress.Spec): Promise<void>;
export declare function afterSpecHandler(config: Cypress.PluginConfigOptions, spec: Cypress.Spec, results: CypressCommandLine.RunResult): Promise<void>;
export declare function afterScreenshotHandler(config: Cypress.PluginConfigOptions, details: Cypress.ScreenshotDetails): Promise<Cypress.ScreenshotDetails>;
