import type { ClassBase, CxxAstNode, CxxAstNodePositionSource, CxxPosition } from './ArkCxxAstNode'; import { AstKind, CxxAccess, CxxBaseFlag, CxxFoldOp, CxxNodeFlag, CxxOpcode, CxxStorageClass, CxxTagUsed, CxxValueCategory } from './ArkCxxAstNode'; /** * Returns extensions for C/C++ implementation and header files used across the C++ frontend * (scanning, SceneConfig defaults, language detection). */ export declare function getCxxSourceFileExtensions(): readonly string[]; /** Returns a read-only set for fast C/C++ source/header extension checks. */ export declare function getCxxSourceFileExtensionSet(): ReadonlySet; /** Returns a read-only set for fast C/C++ header extension checks. */ export declare function getCxxHeaderFileExtensionSet(): ReadonlySet; /** * Returns extensions for C/C++ translation units only (no headers), e.g. for IR passes that * walk implementation files. */ export declare function getCxxImplementationFileExtensions(): readonly string[]; /** Returns a read-only set for fast C/C++ implementation-file checks. */ export declare function getCxxImplementationFileExtensionSet(): ReadonlySet; /** True when `node.nodeFlags` contains all bits in `flag`. */ export declare function hasNodeFlag(node: CxxAstNode, flag: CxxNodeFlag): boolean; /** True when `base.baseFlags` contains all bits in `flag`. */ export declare function hasBaseFlag(base: ClassBase, flag: CxxBaseFlag): boolean; export declare function getNodeAt(node: CxxAstNode, index: number): CxxAstNode | undefined; /** Get the starting line and column numbers of the ast node, Default LineColPosition is (0, 0). */ export declare function getNodeStartLineAndCol(node: CxxAstNodePositionSource): CxxPosition; /** Reverse-map numeric enum id to Clang name string (logs / legacy APIs). */ export declare function astKindToString(kind: AstKind): string; export declare function cxxTagUsedToString(tag: CxxTagUsed): string; export declare function cxxStorageClassToString(sc: CxxStorageClass): string; export declare function cxxAccessToString(access: CxxAccess): string; export declare function cxxValueCategoryToString(vc: CxxValueCategory): string; export declare function cxxFoldOpToString(op: CxxFoldOp): string; export declare function cxxOpcodeToString(op: CxxOpcode): string; //# sourceMappingURL=cppUtils.d.ts.map