import type { Background, Feature, GherkinDocument, Rule, Scenario, Step } from '@cucumber/messages'; export interface IFilters { acceptScenario?: (scenario: Scenario) => boolean; acceptStep?: (step: Step) => boolean; acceptBackground?: (background: Background) => boolean; acceptRule?: (rule: Rule) => boolean; acceptFeature?: (feature: Feature) => boolean; } export interface IHandlers { handleStep?: (step: Step) => void; handleScenario?: (scenario: Scenario) => void; handleBackground?: (background: Background) => void; handleRule?: (rule: Rule) => void; handleFeature?: (feature: Feature) => void; } export declare const rejectAllFilters: IFilters; export default class GherkinDocumentWalker { private readonly filters; private readonly handlers; constructor(filters?: IFilters, handlers?: IHandlers); walkGherkinDocument(gherkinDocument: GherkinDocument): GherkinDocument | null; protected walkFeature(feature: Feature): Feature; private copyFeature; private copyTags; private filterFeatureChildren; private walkFeatureChildren; protected walkRule(rule: Rule): Rule; private copyRule; private filterRuleChildren; private walkRuleChildren; protected walkBackground(background: Background): Background; private copyBackground; protected walkScenario(scenario: Scenario): Scenario; private copyScenario; protected walkAllSteps(steps: readonly Step[]): Step[]; protected walkStep(step: Step): Step; private copyStep; }