/** Rolldown AST subset consumed by the dynamic tool and remote agent transforms. */ export type DynamicToolAstNode = { argument?: DynamicToolAstNode | null; arguments?: DynamicToolAstNode[]; async?: boolean; body?: DynamicToolAstNode | DynamicToolAstNode[] | { body?: DynamicToolAstNode[]; type?: string; start?: number; end?: number; }; callee?: DynamicToolAstNode; cases?: DynamicToolAstNode[]; computed?: boolean; consequent?: DynamicToolAstNode | DynamicToolAstNode[] | null; declaration?: DynamicToolAstNode | null; declarations?: DynamicToolAstNode[]; directive?: string; end?: number; expression?: DynamicToolAstNode | null; generator?: boolean; id?: { name?: string; start?: number; end?: number; } | null; init?: DynamicToolAstNode | null; imported?: { name?: string; value?: unknown; } | null; key?: DynamicToolAstNode | null; kind?: string; left?: DynamicToolAstNode | null; local?: { name?: string; } | null; method?: boolean; name?: string; object?: DynamicToolAstNode | null; param?: DynamicToolAstNode | null; params?: DynamicToolAstNode[]; properties?: DynamicToolAstNode[]; property?: DynamicToolAstNode | null; right?: DynamicToolAstNode | null; source?: { value?: unknown; } | null; specifiers?: DynamicToolAstNode[]; start?: number; type?: string; value?: DynamicToolAstNode | unknown; elements?: Array; }; type AstNode = DynamicToolAstNode; export declare function findProperty(object: DynamicToolAstNode, name: string): DynamicToolAstNode | undefined; export declare function walkNode(node: DynamicToolAstNode, visitor: (node: DynamicToolAstNode) => boolean): void; export declare function isAstNode(value: unknown): value is DynamicToolAstNode; /** * Local names (`alias` or `namespace.name`) that refer to the given exports of * an `eve` or `eve/*` import. */ export declare function findEveImportAliases(ast: AstNode, names: readonly string[]): ReadonlySet; export declare function readDefinerName(callee: AstNode | undefined): string | undefined; export declare function collectPatternNames(pattern: AstNode | null, names: string[]): void; export declare function extractParamNames(fn: AstNode): string[]; export declare function isFunction(node: AstNode): boolean; /** * Visits each call to one of `definers` that takes a single object literal, * with the names bound by its enclosing function, block, catch, loop, and class * scopes. Module-scope bindings are excluded. */ export declare function walkDefinerCalls(ast: AstNode, definers: ReadonlySet, visit: (call: AstNode, argument: AstNode, enclosingBindings: ReadonlySet) => void): void; /** * Names `node` references at runtime without binding them in a scope that * encloses the reference. */ export declare function collectFreeVariables(node: AstNode): Set; export {};