import type { Logger } from "../logger"; /** * @public */ export type ReferenceObject = { ref: string; }; /** * @public */ export type FunctionObject = { fn: string; argv: FunctionArgv; }; /** * @public */ export type FunctionArgv = Array; /** * @public */ export type FunctionReturn = string | boolean | number | { [key: string]: FunctionReturn; }; /** * @public */ export type ConditionObject = FunctionObject & { assign?: string; }; /** * @public */ export type Expression = string | ReferenceObject | FunctionObject; /** * @public */ export type EndpointParams = Record; /** * @public */ export type EndpointResolverOptions = { endpointParams: EndpointParams; logger?: Logger; }; /** * @public */ export type ReferenceRecord = Record; /** * @public */ export type EvaluateOptions = EndpointResolverOptions & { referenceRecord: ReferenceRecord; };