import * as flowbee from 'flowbee'; import { PlyFlow } from './flow'; import { Logger } from './logger'; import { PlyOptions, RunOptions } from './options'; import { Retrieval } from './retrieval'; import { Runtime } from './runtime'; import { Result, ResultPaths } from './result'; import { Suite } from './suite'; import { Step } from './step'; /** * Suite representing a ply flow. */ export declare class FlowSuite extends Suite { readonly plyFlow: PlyFlow; readonly path: string; readonly runtime: Runtime; readonly logger: Logger; readonly start: number; readonly end: number; /** * @param plyFlow PlyFlow * @param path relative path from tests location (forward slashes) * @param runtime info * @param logger * @param start zero-based start line * @param end zero-based end line */ constructor(plyFlow: PlyFlow, path: string, runtime: Runtime, logger: Logger, start: number, end: number); /** * Override to execute flow itself if all steps are specified * @param steps */ runTests(steps: Step[], values: object, runOptions?: RunOptions): Promise; private getStep; runFlow(values: object, runOptions?: RunOptions): Promise; runSteps(steps: Step[], values: object, runOptions?: RunOptions): Promise; /** * True if steps array is identical to flow steps. */ private isFlowSpec; /** * Returns all reachable unique steps in this.plyFlow. * These are the tests in this FlowSuite. */ getSteps(): Step[]; } export declare class FlowLoader { readonly locations: string[]; private options; private skip; constructor(locations: string[], options: PlyOptions); load(): Promise; loadSuite(retrieval: Retrieval): Promise; buildSuite(retrieval: Retrieval, contents: string, resultPaths: ResultPaths): FlowSuite; /** * Parse a flowbee flow from text (reproduced from flowbee.FlowDiagram) * @param text json or yaml * @param file file name */ static parse(text: string, file: string): flowbee.Flow; }