import { PendingExecution, ExpressionRuntime } from './types'; import { Expr } from '../ast'; export declare class ValueExecution implements PendingExecution { private node; private runtime; private identifiers; private context; private resultCache; constructor(runtime: ExpressionRuntime, node: Expr); private extractGlobalVars; private dfs; private addIfNotBuiltin; private isIdentifier; provide(symbol: string, value: any): PendingExecution; canExecute(): boolean; execute(): boolean; } export declare class AndExecution implements PendingExecution { private left; private right; private resultCache; constructor(left: PendingExecution, right: PendingExecution); provide(symbol: string, value: any): PendingExecution; canExecute(): boolean; execute(): boolean; } export declare class OrExecution implements PendingExecution { private left; private right; private resultCache; constructor(left: PendingExecution, right: PendingExecution); provide(symbol: string, value: any): PendingExecution; canExecute(): boolean; execute(): boolean; } export declare class NotExecution implements PendingExecution { private child; private resultCache; constructor(child: PendingExecution); provide(symbol: string, value: any): PendingExecution; canExecute(): boolean; execute(): boolean; } export declare class ConditionalExecution implements PendingExecution { private condition; private thenExpr; private elseExpr; private resultCache; constructor(condition: PendingExecution, thenExpr: PendingExecution, elseExpr: PendingExecution); provide(symbol: string, value: any): PendingExecution; canExecute(): boolean; execute(): boolean; } //# sourceMappingURL=impl.d.ts.map