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