/** * 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 { RunJsAuthoringContext } from '../internal-types'; export declare function scanJavaScriptSource(source: string, ast?: any, context?: RunJsAuthoringContext, modelUse?: string): { source: string; masked: string; functionRanges: import("../internal-types").SourceRange[]; blockRanges: import("../internal-types").SourceRange[]; sourceBindings: import("../internal-types").SourceBinding[]; unknownBareGlobals: { index: number; name: string; suggestedCapability?: string; }[]; ctxRenderCalls: { index: number; match: string; }[]; topLevelCtxRenderCalls: { index: number; match: string; }[]; topLevelReachableCtxRenderCalls: { capability: string; index: number; }[]; topLevelReturns: { index: number; match: string; }[]; ctxRunjsCalls: { index: number; match: string; }[]; nestedRunjsCalls: { capability: string; index: number; }[]; invalidReactRuntimeBindings: import("../internal-types").InvalidReactRuntimeBinding[]; ctxRequestCalls: { index: number; match: string; }[]; invalidApiResourceCalls: { index: number; match: string; method: string; }[]; invalidResourceActionCalls: { actionName: string; allowedActions?: string[]; capability: string; collectionName?: string; dataSourceKey?: string; endpoint?: string; index: number; invalidReason: string; resourceType?: import("../internal-types").FlowResourceInstanceType; suggestedMethod?: string; }[]; invalidResourceTypeCalls: { capability: string; expression?: string; index: number; resourceType?: string; ruleId: string; }[]; invalidFlowResourceListCalls: { capability: string; index: number; }[]; invalidFlowResourceMethodCalls: { capability: string; index: number; method: string; resourceType?: import("../internal-types").FlowResourceInstanceType; suggestedMethod?: string; }[]; invalidResourceFilterCalls: { availableFields?: string[]; capability: string; collectionName?: string; dataSourceKey?: string; fieldInterface?: string; fieldPath?: string; fieldType?: string; invalidShape?: string; index: number; invalidReason?: string; invalidValue?: any; message: string; operator?: string; repairExample?: Record; repairHint?: string; resourceType?: import("../internal-types").FlowResourceInstanceType; ruleId: string; unsupportedKeys?: string[]; suggestedOperator?: string; suggestedValue?: any; examples?: Record; }[]; resourceCallsInReactHooks: import("../internal-types").ResourceCallInReactHook[]; topLevelReactHookCalls: { hook: string; index: number; match: string; }[]; unboundReactCreateElementCalls: { index: number; }[]; reactComponentFunctionCalls: { index: number; component: string; capability: string; }[]; reactAsyncComponentReferences: { capability: string; component: string; index: number; }[]; reactComponentCtxRenderCalls: { capability: string; component: string; index: number; }[]; sharedCtxResourceCallsInFunctions: import("../internal-types").SharedCtxResourceCallInFunction[]; ctxRenderComponentSignatureCalls: { index: number; component: string; capability: string; }[]; reactComponentPropReferences: { index: number; component: string; capability: string; prop: string; }[]; directDomWrites: { index: number; match: string; }[]; directDomAliases: { alias: string; index: number; }[]; ctxAliases: { alias: string; index: number; }[]; ctxLibMemberCaseMismatches: import("../internal-types").CtxLibMemberCaseMismatch[]; invalidCtxApiMemberAccesses: { capability: string; index: number; match?: string; matchIndex?: number; member?: string; ruleId: string; }[]; invalidCtxNonFunctionCalls: { capability: string; index: number; member: string; ruleId: "runjs-ctx-member-not-callable"; }[]; invalidCtxLibMemberAccesses: import("../internal-types").InvalidCtxLibMemberAccess[]; ctxMemberAccesses: { member: string; index: number; }[]; dynamicCtxAccesses: { index: number; match: string; }[]; isTopLevelFunctionWrapper: boolean; };