import { SourceMapBuilder, SourceMapData } from "./sourceMap"; /** 表示一个文本写入器 */ export declare class TextWriter { /** 获取或设置已写入的文本内容 */ content: string; /** 获取已写入的文本内容 */ toString(): string; /** 获取或设置缩进字符 */ indentChar: string; /** 获取或设置当前使用的缩进字符串 */ indentString: string; /** 增加一个缩进 */ indent(): void; /** 减少一个缩进 */ unindent(): void; /** * 在末尾写入一段文本 * @param content 要写入的内容 * @param startIndex 要写入的内容的开始索引(从 0 开始) * @param endIndex 要写入的内容的结束索引(从 0 开始)(不含) * @param sourcePath 内容的源文件路径或索引 * @param sourceLine 内容在源文件中的行号(从 0 开始) * @param sourceColumn 内容在源文件中的列号(从 0 开始) * @param name 内容对应的符号名称或索引 * @param sourceMap 如果指定了源文件的源映射,则复制所有映射点 */ write(content: string, startIndex?: number, endIndex?: number, sourcePath?: string | number, sourceLine?: number, sourceColumn?: number, name?: string | number, sourceMap?: SourceMapData): void; } /** 表示一个支持源映射(Source Map)的文本写入器 */ export declare class SourceMapTextWriter extends TextWriter { /** 当前使用的源映射生成器 */ readonly sourceMapBuilder: SourceMapBuilder; /** 获取当前生成的源映射 */ get sourceMap(): import("./sourceMap").SourceMapObject; /** 判断或设置是否只生成行映射信息 */ noColumnMappings: boolean; /** 获取当前写入的行号 */ line: number; /** 获取当前写入的列号 */ column: number; /** * 在末尾写入一段文本 * @param content 要写入的内容 * @param startIndex 要写入的内容的开始索引(从 0 开始) * @param endIndex 要写入的内容的结束索引(从 0 开始)(不含) * @param sourcePath 内容的源文件路径或索引 * @param sourceLine 内容在源文件中的行号(从 0 开始) * @param sourceColumn 内容在源文件中的列号(从 0 开始) * @param name 内容对应的符号名称或索引 * @param sourceMap 如果指定了源文件的源映射,则复制所有映射点 */ write(content: string, startIndex?: number, endIndex?: number, sourcePath?: string | number, sourceLine?: number, sourceColumn?: number, name?: string | number, sourceMap?: SourceMapData): void; }