import { IDefineSupportCodeMethods } from '@cucumber/cucumber/lib/support_code_library_builder/types'; import { EntityMap } from './entities/types'; import { HttpFn } from './http/types'; import { OperatorMap } from './operators/types'; import { StepFn, StepOptions } from './steps/types'; export interface Context { [key: string]: unknown; } export interface Aliases { [name: string]: RegExp; } export interface RequireMockMap { [module: string]: unknown; } export interface Options { aliases?: Aliases; captureOutput?: boolean; elasticSearchIndexUri?: string; entities?: EntityMap; http?: HttpFn; initialContext?: () => Context; operators?: OperatorMap; requireMocks?: RequireMockMap; suppressOutput?: boolean; timeout?: number; usage?: boolean; } export declare type StepDefinitionFn = (name: string, fn: StepFn, opts?: StepOptions) => void; export declare type TearDownFn = () => Promise | void; export declare type SetupFnArgs = Pick & { compare: (op: string, actual: unknown, expected: string) => void; getCtx: (name: string) => T; Given: StepDefinitionFn; onTearDown: (fn: TearDownFn) => void; pushCtx: (name: string, value: T) => void; setCtx: (name: string, value: T) => void; Then: StepDefinitionFn; When: StepDefinitionFn; };