/// <reference types="cypress" />
import { ICypressConfiguration } from "@badeball/cypress-configuration";
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 = ICypressConfiguration & {
    [INTERNAL_PROPERTY_NAME]?: Partial<ICypressConfiguration>;
};
export declare function mutateConfigObjectPreservingly<K extends keyof ICypressConfiguration>(config: PreservedPluginConfigOptions, property: K, value: PreservedPluginConfigOptions[K]): void;
export declare function rebuildOriginalConfigObject(config: PreservedPluginConfigOptions): ICypressConfiguration;
export declare function addCucumberPreprocessorPlugin(on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions, options?: AddOptions): Promise<Cypress.PluginConfigOptions>;
export {};
