/// import { Subscription } from '@dws/muster-observable'; import { ContextValuesDefinitions, Muster } from '../muster'; import { NodeDefinition } from '../types/graph'; export interface MockSubscriber { subscription: Subscription; next: jest.Mock; } export interface MusterScenario { description: string; before?: () => any | Promise; after?: () => any | Promise; graph?: (() => Muster); operations: Array | ((app: () => Muster) => Array); } export interface MusterOperation { description: string; skip?: boolean; only?: boolean; before?: () => any | Promise; after?: () => any | Promise; input?: NodeDefinition; context?: ContextValuesDefinitions; expected?: NodeDefinition | Array; assert?: (results: Array) => void | Promise; operations?: Array | ((subscriber: () => MockSubscriber, results: () => Array) => Array); } export interface MusterScenarioBuilder { (scenario: MusterScenario | (() => MusterScenario)): void; only(scenario: MusterScenario | (() => MusterScenario)): void; skip(scenario: MusterScenario | (() => MusterScenario)): void; } declare const _default: MusterScenarioBuilder; export default _default; export declare const operation: ((definition: MusterOperation) => MusterOperation) & { only: (definition: MusterOperation) => MusterOperation; skip: (definition: MusterOperation) => MusterOperation; };