import { ContextMatcherInput, Expectation } from "./Expectation"; import { Response } from "./Response"; import { ConfigDefinition, ConfigValue, GlobalsValue, JSONSchemaDefinition, RequestValue, ResponseValue, StateDefinition, StateValue } from "./Values"; export declare type OnStartScenarioCallback = (ctx: OnStartScenarioContext) => void; export interface OnStartScenarioContext { config: ConfigValue; globals: GlobalsValue; scenario: Scenario; state: StateValue; } export declare type OnBootstrapScenarioCallback = (ctx: OnBootstrapScenarioContext) => Response | void; export interface OnBootstrapScenarioContext { config: ConfigValue; globals: GlobalsValue; req: RequestValue; res: ResponseValue; state: StateValue; } export declare function scenario(id: string): Scenario; export declare class Scenario { private _configDefinitions; private _description; private _expectations; private _id; private _onBootstrap?; private _onStart?; private _stateDefinitions; private _tags; constructor(id: string); description(description: string): this; tag(tag: string): this; tags(tags: string[]): this; config(name: string, schema?: JSONSchemaDefinition): this; state(name: string, schema?: JSONSchemaDefinition): this; onBootstrap(cb: OnBootstrapScenarioCallback): this; onStart(cb: OnStartScenarioCallback): this; when(...matchers: ContextMatcherInput[]): Expectation; getId(): string; getTags(): string[]; getFormattedDescription(): string; getConfigParams(): ConfigDefinition[]; getStateParams(): StateDefinition[]; getVisibleConfigParams(): ConfigDefinition[]; getVisibleStateParams(): StateDefinition[]; getExpectations(): Expectation[]; getOnStartCallback(): OnStartScenarioCallback | undefined; getOnBootstrapCallback(): OnBootstrapScenarioCallback | undefined; }