import * as flowbee from 'flowbee'; import { Logger } from './logger'; import { RunOptions } from './options'; import { Runtime } from './runtime'; import { Suite } from './suite'; import { Request } from './request'; import { Result } from './result'; export interface Flow { flow: flowbee.Flow; instance: flowbee.FlowInstance; } export interface Subflow { subflow: flowbee.Subflow; instance: flowbee.SubflowInstance; } export declare class FlowResults { readonly name: string; results: Result[]; constructor(name: string); get latest(): Result; latestBad(): boolean; get overall(): Result; } export declare class PlyFlow implements Flow { readonly flow: flowbee.Flow; readonly requestSuite: Suite; private readonly logger; readonly name: string; readonly type = "flow"; start: number; end?: number | undefined; readonly instance: flowbee.FlowInstance; readonly results: FlowResults; private _onFlow; onFlow(listener: flowbee.Listener): void; constructor(flow: flowbee.Flow, requestSuite: Suite, logger: Logger); /** * Run a ply flow. */ run(runtime: Runtime, values: object, runOptions?: RunOptions): Promise; private endFlow; /** * Executes a step within a flow and recursively executes the following step(s). */ exec(step: flowbee.Step, runtime: Runtime, values: object, runOptions?: RunOptions, subflow?: Subflow): Promise; getSubflows(type: 'Before' | 'After', step?: flowbee.Step): Subflow[]; runSubflows(subflows: Subflow[], runtime: Runtime, values: object, runOptions?: RunOptions): Promise; flowEvent(eventType: flowbee.FlowEventType, elementType: flowbee.FlowElementType, instance: flowbee.FlowInstance | flowbee.SubflowInstance | flowbee.StepInstance): flowbee.FlowEvent; private emit; }