/**
 * 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 { AstFunctionBinding, AstIdentifierBinding, AstIdentifierWrite, AstStaticObjectAliasCopy, StaticFilterValueBinding, StaticStringBinding } from '../internal-types';
export declare function collectAstIdentifierBindingsFromAst(ast: any, source: string): AstIdentifierBinding[];
export declare function collectAstFunctionBindingsFromAst(ast: any, source: string): AstFunctionBinding[];
export declare function collectStaticStringBindingsFromAst(ast: any, source: string, seedStringBindings?: StaticStringBinding[], identifierBindings?: AstIdentifierBinding[]): StaticStringBinding[];
export declare function isStaticStringBindingActiveAtIndex(binding: StaticStringBinding, index: number, writes: AstIdentifierWrite[], identifierBindings: AstIdentifierBinding[]): boolean;
export declare function trimStaticStringBindingsAfterWrites(bindings: StaticStringBinding[], writes: AstIdentifierWrite[], identifierBindings: AstIdentifierBinding[]): StaticStringBinding[];
export declare function collectStaticFilterValueBindingsFromAst(ast: any, source: string, identifierBindings: AstIdentifierBinding[]): StaticFilterValueBinding[];
export declare function trimStaticFilterValueBindingsAfterWrites(bindings: StaticFilterValueBinding[], writes: AstIdentifierWrite[], identifierBindings: AstIdentifierBinding[]): StaticFilterValueBinding[];
export declare function collectAstStaticBindingWritesFromAst(ast: any, source: string, identifierBindings: AstIdentifierBinding[]): AstIdentifierWrite[];
export declare function collectAstStaticObjectAliasCopiesFromAst(ast: any, source: string, identifierBindings: AstIdentifierBinding[]): AstStaticObjectAliasCopy[];
export declare function resolveAstStaticAliasCopySourceName(node: any, aliases: AstStaticObjectAliasCopy[], identifierBindings: AstIdentifierBinding[]): string | undefined;
export declare function collectAstStaticAliasCopyWrites(writes: AstIdentifierWrite[], aliases: AstStaticObjectAliasCopy[], identifierBindings: AstIdentifierBinding[]): AstIdentifierWrite[];
export declare function getAstIdentifierWriteKey(write: AstIdentifierWrite): string;
export declare function isAstStaticObjectAliasCopyActiveAtIndex(alias: AstStaticObjectAliasCopy, index: number, identifierBindings: AstIdentifierBinding[]): boolean;
export declare function isAstStaticObjectAliasCopySourceActiveAtIndex(alias: AstStaticObjectAliasCopy, index: number, identifierBindings: AstIdentifierBinding[]): boolean;
