import * as babel from '@babel/core'; import * as babelTypes from '@babel/types'; import generate from '@babel/generator'; import * as naslTypes from '../../concepts'; export { babelTypes, naslTypes, generate }; export { genHash, uuidv4, firstLowerCase, firstUpperCase, splitPath } from '../../utils'; export { createComponentLookupMap } from '../transforms/utils/createComponentLookupMap'; export declare function DEBUG(): boolean; export declare const parseNaturalTSErrorMap: Record>; export declare class ParseNaturalTSError extends Error { constructor(message: string); } export type componentsMap = Map; eventsMap: Map; slotsMap: Map; }>; export interface ParseNaturalTSState { $$beacon: true; parsingId?: number; nodeNamespace?: string; nodeName?: string; moduleName?: string; appendExtName?: boolean; source?: string; componentsMap?: componentsMap; strictForTraining?: boolean; } export interface ParseLogicState extends ParseNaturalTSState { isInFrontend?: boolean; logicType?: 'global_logic' | 'view_logic' | 'event_logic'; logicKind?: 'declare' | 'export'; } export interface ParseViewState extends ParseLogicState { nameMap: Map; parentTag?: string; isRootLevel?: boolean; } /** * 抛出错误 * @param message 错误信息 * @param babelNode babel节点,用于便捷生成代码片段信息 * @param babelNode2 babel节点,用于便捷生成代码片段信息 */ export declare function throwError(state: ParseNaturalTSState, message: string, babelNode?: babelTypes.Node | string, babelNode2?: babelTypes.Node | string): undefined; /** * 检查语句是否是指定名称的 $ 调用表达式(装饰器调用) * @param statement - 要检查的语句 * @param decoratorName - 装饰器名称,如 'Logic', 'View', 'Variable' * @returns 如果匹配返回 CallExpression,否则返回 undefined * * @example * ```typescript * // 检查是否是 $Logic 调用 * const decorator = getDecoratorCall(prevStatement, 'Logic'); * if (decorator) { * // 处理装饰器 * } * ``` */ export declare function getDecoratorCall(statement: babelTypes.Statement | undefined, decoratorName: string): babelTypes.CallExpression | undefined; /** * 抛出警告,在 DEBUG 模式下不抛出这类错误 * @param message 错误信息 * @param babelNode babel节点,用于便捷生成代码片段信息 * @param babelNode2 babel节点,用于便捷生成代码片段信息 */ export declare function throwWarning(message: string, babelNode?: babelTypes.Node | string, babelNode2?: babelTypes.Node | string): void; export declare function tryParseTS(tsCode: string): import("@babel/parser").ParseResult; export declare function fetchFromComments(comments?: Array): string; export declare const genAIUID: (node: any, sessionId: string, num?: number) => { node: any; number: number; }; //# sourceMappingURL=index.d.ts.map