import type { Background, Examples, Feature, GherkinDocument, Pickle, Rule, Scenario, TableRow } from '@cucumber/messages'; export interface Lineage { gherkinDocument?: GherkinDocument; feature?: Feature; background?: Background; rule?: Rule; ruleBackground?: Background; scenario?: Scenario; examples?: Examples; examplesIndex?: number; example?: TableRow; exampleIndex?: number; } export interface LineageReducer { reduce: (lineage: Lineage, pickle: Pickle) => T; } export type NamingStrategy = LineageReducer; export declare enum NamingStrategyLength { LONG = "LONG", SHORT = "SHORT" } export declare enum NamingStrategyFeatureName { INCLUDE = "INCLUDE", EXCLUDE = "EXCLUDE" } export declare enum NamingStrategyExampleName { NUMBER = "NUMBER", PICKLE = "PICKLE", NUMBER_AND_PICKLE_IF_PARAMETERIZED = "NUMBER_AND_PICKLE_IF_PARAMETERIZED" } export declare function namingStrategy(length: NamingStrategyLength, featureName?: NamingStrategyFeatureName, exampleName?: NamingStrategyExampleName): NamingStrategy;