/** * @public */ type Hook = object> = { type: 'Before' | 'After'; callback: HookCallback; }; /** * @public */ type HookCallback = object> = (context: TContext) => Promise | void; /** * @public */ declare function Before = object>(callback: HookCallback): Hook; /** * @public */ declare function After = object>(callback: HookCallback): Hook; /** * @public */ type StepDefinitionCallback = object, TParamA = undefined, TParamB = undefined, TParamC = undefined> = TParamA extends undefined ? (context: TContext) => Promise | void : TParamB extends undefined ? (context: TContext, paramA: TParamA) => Promise | void : TParamC extends undefined ? (context: TContext, paramA: TParamA, paramB: TParamB) => Promise | void : (context: TContext, paramA: TParamA, paramB: TParamB, paramC: TParamC) => Promise | void; /** * @public */ type StepDefinition = object, TParamA = undefined, TParamB = undefined, TParamC = undefined> = { type: 'Context' | 'Action' | 'Outcome'; text: string; callback: StepDefinitionCallback; }; /** * @public */ declare function Given = object, TParamA = undefined, TParamB = undefined, TParamC = undefined>(text: string, callback: StepDefinitionCallback): StepDefinition; /** * @public */ declare function When = object, TParamA = undefined, TParamB = undefined, TParamC = undefined>(text: string, callback: StepDefinitionCallback): StepDefinition; /** * @public */ declare function Then = object, TParamA = undefined, TParamB = undefined, TParamC = undefined>(text: string, callback: StepDefinitionCallback): StepDefinition; export { When as a, Hook as c, Then as i, HookCallback as l, StepDefinition as n, After as o, StepDefinitionCallback as r, Before as s, Given as t }; //# sourceMappingURL=step-definitions-7oDazqCT.d.ts.map