import { IBuffer } from "./IBuffer"; /** * A place where strings are piled up sequentially to eventually make one big string. */ export declare class StringJoinBuffer implements IBuffer { /** * Add zero or more strings to the buffer. */ Add(...values: string[]): IBuffer; /** * Add the requested number of spaces. */ Spaces(count: number): IBuffer; /** * Used to indicate the end of a line. Triggers special processing like trimming whitespace. */ EndLine(eolString: string): IBuffer; /** * Call this to let the buffer finish up any work in progress. */ Flush(): IBuffer; /** * Converts the buffer's contents into a single string. */ AsString(): string; private static readonly SPACES_CACHE; private _lineBuff; private readonly _docBuff; /** * Takes the contents of _lineBuff and merges them into a string and adds it to _docBuff. We trim trailing * whitespace in the process. */ private AddLineToWriter; }