/** * Expression evaluation for conditions and mappings * Implements JMESPath for conditions and ${} pattern for mappings */ import type { ExecutionContext } from '@orchestr8/schema'; /** * Default security limits for expression evaluation */ declare const DEFAULT_SECURITY_LIMITS: { maxDepth: number; maxSize: number; timeout: number; }; /** * Security limits interface */ export interface SecurityLimits { maxDepth?: number; maxSize?: number; timeout?: number; } /** * Dangerous prototype keys to block */ declare const PROTOTYPE_POLLUTION_KEYS: string[]; /** * Evaluate a JMESPath condition expression * @param expression The JMESPath expression * @param context The execution context * @param strictMode If true, throw validation errors for invalid expressions * @param limits Optional security limits to override defaults * @returns The evaluation result */ export declare function evaluateCondition(expression: string, context: ExecutionContext, strictMode?: boolean, limits?: SecurityLimits): boolean; /** * Resolve mapping expressions with ${steps.*}, ${variables.*}, ${env.*} patterns * @param input The input object potentially containing expressions * @param context The execution context * @param limits Optional security limits to override defaults * @returns The resolved object */ export declare function resolveMapping(input: unknown, context: ExecutionContext, limits?: SecurityLimits): unknown; /** * Clear the expression cache (useful for testing) */ export declare function clearExpressionCache(): void; /** * Export security limits for testing */ export { DEFAULT_SECURITY_LIMITS as SECURITY_LIMITS, PROTOTYPE_POLLUTION_KEYS }; //# sourceMappingURL=expression-evaluator.d.ts.map