import * as messages from "@cucumber/messages";
import { IHook, Registry } from "./registry";
import { StrictTimestamp } from "./helpers/messages";
interface IStep {
    hook?: IHook;
    pickleStep?: messages.PickleStep;
}
declare const internalPropertiesReplacementText = "Internal properties of cypress-cucumber-preprocessor omitted from report.";
export interface InternalSpecProperties {
    pickle: messages.Pickle;
    testCaseStartedId: string;
    currentStepStartedAt?: StrictTimestamp;
    currentStep?: IStep;
    allSteps: IStep[];
    remainingSteps: IStep[];
    toJSON(): typeof internalPropertiesReplacementText;
}
export interface InternalSuiteProperties {
    isEventHandlersAttached?: boolean;
}
export declare function retrieveInternalSpecProperties(): InternalSpecProperties;
export default function createTests(registry: Registry, seed: number, source: string, gherkinDocument: messages.GherkinDocument, pickles: messages.Pickle[], prettyEnabled: boolean, messagesEnabled: boolean, omitFiltered: boolean, stepDefinitionHints: {
    stepDefinitions: string | string[];
    stepDefinitionPatterns: string[];
    stepDefinitionPaths: string[];
}): void;
type Tail<T extends any[]> = T extends [infer _A, ...infer R] ? R : never;
export type CreateTestsOptions = Tail<Parameters<typeof createTests>>;
export {};
