/**
 * 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 { CtxLibMemberCaseMismatch, FlowResourceAlias, ReactComponentAlias, ResourceCallInReactHook, SourceBinding, SourceRange, StringLiteralBinding } from '../internal-types';
export declare function collectForbiddenBareGlobals(masked: string, bindings: SourceBinding[]): {
    name: string;
    index: number;
}[];
export declare function collectInvalidApiResourceCalls(source: string, masked: string, bindings: SourceBinding[]): {
    index: number;
    match: string;
    method: string;
}[];
export declare function collectInvalidResourceTypeCalls(source: string, masked: string, stringBindings: StringLiteralBinding[], bindings: SourceBinding[]): {
    capability: string;
    expression?: string;
    index: number;
    message?: string;
    resourceType?: string;
    ruleId: string;
}[];
export declare function collectResourceCallsInReactHooks(source: string, masked: string, reactHookCalls: Array<{
    hook: string;
    index: number;
    match: string;
}>, bindings: SourceBinding[]): ResourceCallInReactHook[];
export declare function collectFlowResourceAliases(masked: string, bindings: SourceBinding[]): FlowResourceAlias[];
export declare function collectInvalidFlowResourceListCalls(masked: string, aliases: FlowResourceAlias[], bindings: SourceBinding[]): {
    capability: string;
    index: number;
}[];
export declare function collectCtxLibMemberCaseMismatches(source: string, masked: string, bindings: SourceBinding[]): CtxLibMemberCaseMismatch[];
export declare function collectReactHookCalls(masked: string, bindings: SourceBinding[]): {
    hook: string;
    index: number;
    match: string;
}[];
export declare function collectUnboundReactCreateElementCalls(masked: string, bindings: SourceBinding[]): {
    index: number;
}[];
export declare function collectReactComponentAliases(masked: string, bindings: SourceBinding[]): ReactComponentAlias[];
export declare function collectReactComponentFunctionCalls(masked: string, aliases: ReactComponentAlias[], bindings: SourceBinding[]): {
    index: number;
    component: string;
    capability: string;
}[];
export declare function collectCtxRenderComponentSignatureCalls(source: string, masked: string, aliases: ReactComponentAlias[], bindings: SourceBinding[]): {
    index: number;
    component: string;
    capability: string;
}[];
export declare function collectReactComponentPropReferences(source: string, masked: string, aliases: ReactComponentAlias[], bindings: SourceBinding[]): {
    index: number;
    component: string;
    capability: string;
    prop: string;
}[];
export declare function collectDirectDomWrites(source: string, masked: string, bindings: SourceBinding[]): {
    index: number;
    match: string;
}[];
export declare function collectWindowDocumentNavigatorUses(source: string, masked: string, bindings: SourceBinding[]): {
    root: string;
    member: string;
    index: number;
}[];
export declare function collectWindowDocumentNavigatorAliases(masked: string, bindings: SourceBinding[]): {
    alias: string;
    root: string;
    index: number;
}[];
export declare function collectDirectDomAliases(masked: string, bindings: SourceBinding[]): {
    alias: string;
    index: number;
}[];
export declare function collectCtxAliases(masked: string, bindings: SourceBinding[]): {
    alias: string;
    index: number;
}[];
export declare function collectCtxMemberAccesses(masked: string, bindings: SourceBinding[]): {
    member: string;
    index: number;
}[];
export declare function isTopLevelFunctionWrapper(masked: string, functionRanges: SourceRange[], topLevelCtxRenderCalls: any[]): boolean;
export declare function isResourceLikeCtxRequest(source: string, masked: string, index: number): boolean;
export declare function getResourceLikeCtxRunjsEntrypoint(source: string, masked: string, index: number): string;
