import { FlowieContainer } from '../container/createFlowieContainer'; import { FlowResult, CreateFlowieResult } from '../runtime/flowieResult'; import Reporter from '../reporter/reporter.types'; import { PreparedFlowieExecution } from '../prepared.types'; export default function generateFunctionFromFlowDeclaration(preparedFlowieExecution: PreparedFlowieExecution, flowieContainer: FlowieContainer): FlowFunctionGeneration; export interface FlowFunctionGeneration { readonly generatedFlowFunction: GeneratedFlowFunction; readonly generatedFlowFunctionWithContext: GeneratedFlowFunctionForContext; } export interface GeneratedFlowFunction { (separateReportListFromResult: Function): (executionArguments: ExecutionArguments) => FlowResult | Promise>; } export interface GeneratedFlowFunctionForContext { (separateReportListFromResult: Function): (executionArguments: ExecutionArgumentsForContext) => FlowResult | Promise>; } interface ExecutionArguments { readonly flowieContainer: FlowieContainer; readonly argument: Argument; readonly flowieResult: CreateFlowieResult; readonly reporter: Reporter; } interface ExecutionArgumentsForContext extends ExecutionArguments { readonly context: Context; } export {};