import ts from 'ohos-typescript'; import type { CxxAstNodePositionSource } from '../../frontend/cppFrontend/utils/ArkCxxAstNode'; export declare const INVALID_LINE = -1; export type LineCol = number; export declare function setLine(lineCol: LineCol, lineNo: number): LineCol; export declare function setCol(lineCol: LineCol, colNo: number): LineCol; export declare function setLineCol(lineNo: number, colNo: number): LineCol; export declare function getLineNo(lineCol: LineCol): number; export declare function getColNo(lineCol: LineCol): number; /** * @category core/base */ export declare class LineColPosition { private readonly lineCol; static readonly DEFAULT: LineColPosition; constructor(lineNo: number, colNo: number); getLineNo(): number; getColNo(): number; static buildFromNode(node: ts.Node, sourceFile: ts.SourceFile): LineColPosition; /** * Builds a LineColPosition object from a CxxAstNode. * @param node - The C++ AST node. * @returns A LineColPosition object containing the line and character information. Default LineColPosition is (0, 0). */ static cxxBuildFromNode(node: CxxAstNodePositionSource): LineColPosition; } export declare class FullPosition { private readonly first; private readonly last; static readonly DEFAULT: FullPosition; constructor(firstLine: number, firstCol: number, lastLine: number, lastCol: number); getFirstLine(): number; getLastLine(): number; getFirstCol(): number; getLastCol(): number; static buildFromNode(node: ts.Node, sourceFile: ts.SourceFile): FullPosition; /** *Building a FullPosition object from a C++AST node *@ param node C++AST node, possibly undefined *@ param_sourceFile source file node (not used) *@ returns The FullPosition object containing location information */ static cxxBuildFromNode(node: CxxAstNodePositionSource | undefined, _sourceFile: CxxAstNodePositionSource): FullPosition; static merge(leftMostPosition: FullPosition, rightMostPosition: FullPosition): FullPosition; } //# sourceMappingURL=Position.d.ts.map