import type { BindingContext } from './types'; /** * Clears all cached compiled expression functions. * Call this when unmounting views or to free memory after heavy template usage. * * @example * ```ts * import { clearExpressionCache } from 'bquery/view'; * * // After destroying a view or when cleaning up * clearExpressionCache(); * ``` */ export declare const clearExpressionCache: () => void; /** * Evaluates an expression in the given context using `new Function()`. * * Signals and computed values in the context are lazily unwrapped only when * accessed by the expression, avoiding unnecessary subscriptions to unused values. * * @security **WARNING:** This function uses dynamic code execution via `new Function()`. * - NEVER pass expressions derived from user input or untrusted sources * - Expressions should only come from developer-controlled templates * - Malicious expressions can access and exfiltrate context data * - Consider this equivalent to `eval()` in terms of security implications * * @internal */ export declare const evaluate: (expression: string, context: BindingContext) => T; /** * Evaluates an expression and returns the raw value (for signal access). * * @security **WARNING:** Uses dynamic code execution. See {@link evaluate} for security notes. * @internal */ export declare const evaluateRaw: (expression: string, context: BindingContext) => T; /** * Parses object expression like "{ active: isActive, disabled: !enabled }". * Handles nested structures like function calls, arrays, and template literals. * @internal */ export declare const parseObjectExpression: (expression: string) => Record; //# sourceMappingURL=evaluate.d.ts.map