import { GherkinFeature, GherkinRule, GherkinScenario, GherkinScenarioOutline, GherkinTest } from '../parsing/gherkin-objects'; import TestTrackingEvents from '../tracking/test-tracker'; import { Steps } from '../types'; import { Global } from '@jest/types'; import Background from './backgrounds/background'; import { ScenarioOutline } from './scenario-outline/scenario-outline'; import { Scenario } from './scenario/scenario'; interface Group { [key: string]: T; } export default abstract class Category { protected _test: GherkinTest; protected _base: GherkinFeature | GherkinRule; protected _scenarios: Group; protected _outlines: Group; protected _rules: Group; protected _backgrounds: Background[]; protected _events: TestTrackingEvents; constructor(test: GherkinTest, base: GherkinFeature | GherkinRule, events: TestTrackingEvents); registerBackground(title: string | undefined, steps: Steps): Background; registerScenario(title: string): any; abstract execute(testGrouping: Global.DescribeBase, ...args: unknown[]): void; registerScenarioOutline(title: string): ScenarioOutline; getScenarioCallback: (title: string, steps: Steps) => void; getOutlineCallback: (title: string, steps: Steps) => void; getBackgroundCallback: (title: string | undefined | Steps, steps?: Steps) => void; protected runOutlines(outlines: GherkinScenarioOutline[], groupFn?: Global.DescribeBase, testFn?: Global.ItBase): void; protected runRules(rules: GherkinRule[], groupFn?: Global.DescribeBase, testFn?: Global.ItBase): void; protected runScenarios(scenarios: GherkinScenario[], testFn: Global.ItBase): void; protected _getTestFunction(matches: boolean): import("@jest/types/build/Global").ItBase; protected _getGroupFunction(matches: boolean): import("@jest/types/build/Global").DescribeBase; protected _isSkipped(matches: boolean): boolean; protected _unknownTitle(title: string): string | undefined; } export {};