/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import type { AstCapabilityAlias, AstIdentifierBinding, AstIdentifierWrite, SourceRange } from '../internal-types';
export declare function collectAstIdentifierWritesFromAst(ast: any, source: string): AstIdentifierWrite[];
export declare function getAstWriteExecutionContext(ancestors: any[], sourceLength: number): {
    alwaysRunsInExecutionScope: boolean;
    executionScope: SourceRange;
};
export declare function findAstInnermostSynchronousIifeFunctionAncestorIndex(ancestors: any[]): number;
export declare function getAstLoopPatternTarget(left: any): any;
export declare function isAstForOfLoopVariableDeclaratorWithSourceTargets<T extends AstCapabilityAlias>(node: any, ancestors: any[], aliases: T[], identifierBindings: AstIdentifierBinding[]): boolean;
export declare function hasAstForOfSourceTargets<T extends AstCapabilityAlias>(sourceNode: any, aliases: T[], identifierBindings: AstIdentifierBinding[]): boolean;
export declare function collectAstForOfSourceTargets<T extends AstCapabilityAlias>(sourceNode: any, aliases: T[], identifierBindings: AstIdentifierBinding[], visit: (sourceTarget: any) => void): void;
export declare function collectAstForOfSourceTargetElementMembers<T extends AstCapabilityAlias>(sourceTarget: any, aliases: T[], identifierBindings: AstIdentifierBinding[]): Set<string>;
