import { INTERNAL_PROPERTY_NAME } from "./constants";
import { OnAfterStep } from "./plugin-event-handlers";
export type AddOptions = {
    omitBeforeRunHandler?: boolean;
    omitAfterRunHandler?: boolean;
    omitBeforeSpecHandler?: boolean;
    omitAfterSpecHandler?: boolean;
    omitAfterScreenshotHandler?: boolean;
    onAfterStep?: OnAfterStep;
};
type PreservedPluginConfigOptions = Cypress.PluginConfigOptions & {
    [INTERNAL_PROPERTY_NAME]?: Partial<Cypress.PluginConfigOptions>;
};
export declare function mutateConfigObjectPreservingly<K extends keyof Cypress.PluginConfigOptions>(config: PreservedPluginConfigOptions, property: K, value: PreservedPluginConfigOptions[K]): void;
export declare function rebuildOriginalConfigObject(config: PreservedPluginConfigOptions): Cypress.PluginConfigOptions;
export declare function addCucumberPreprocessorPlugin(on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions, options?: AddOptions): Promise<Cypress.PluginConfigOptions>;
export {};
