import { CompileCache, EnvBasedResolver, ExpresionType, Expression, FunctionStep, Statement, StatementType, StepLoopResult } from "./types"; export declare type SingleOrMulti = T | T[]; export declare type AnyFunction = (...args: any[]) => any; export declare type ExpressionCompiler = (expression: E, cache: CompileCache, safe?: boolean) => EnvBasedResolver; export declare type ExpressionLookupTable = { [K in ExpresionType]: (E extends { type: K; } ? ExpressionCompiler : never); }; export declare type StepCompiler = (step: S, cache: CompileCache, breakable?: boolean) => EnvBasedResolver; export declare type StatementLookupTable = { [K in StatementType]: (S extends { type: K; } ? StepCompiler : never); };