/** Rolldown AST subset consumed by the dynamic-tool transform. */
export type DynamicToolAstNode = {
    argument?: DynamicToolAstNode | null;
    arguments?: DynamicToolAstNode[];
    async?: boolean;
    body?: DynamicToolAstNode | DynamicToolAstNode[] | {
        body?: DynamicToolAstNode[];
        type?: string;
        start?: number;
        end?: number;
    };
    callee?: DynamicToolAstNode;
    computed?: boolean;
    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;
    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<DynamicToolAstNode | null>;
};
export declare function findProperty(object: DynamicToolAstNode, name: string): DynamicToolAstNode | undefined;
export declare function walkNode(node: DynamicToolAstNode, visitor: (node: DynamicToolAstNode) => boolean): void;
/**
 * Collects identifiers used as runtime references in a function body AST.
 */
export declare function collectReferencedIdentifierNames(node: DynamicToolAstNode): Set<string>;
