import type { Any } from '../interface'; import { type AstNode, type BindingTarget } from '../parser/types'; import type { MaybePromise } from '../utils/maybePromise'; export declare function walkDefaults(bindingTarget: BindingTarget, onDefault: (Node: AstNode) => void): void; export declare function evaluateBindingNodeValues(target: BindingTarget, value: Any, evaluate: (Node: AstNode) => MaybePromise): MaybePromise>; export declare function getAllBindingTargetNames(bindingTarget: BindingTarget): Record; /** * Non-throwing pattern matching. Returns bindings on match, null on mismatch. * Used by `switch` pattern matching. */ export declare function tryMatch(target: BindingTarget, value: Any, evaluate: (Node: AstNode) => MaybePromise): MaybePromise | null>;