/** * Exposes the API to build a template by writing compiled output * to the buffer. */ export declare class CompilerBuffer { private lines; private indentation; private wrappingBlocks; /** * Returns the indentation spaces */ private getIndentationSpaces; /** * Indent code by 2 spaces */ indent(): this; /** * Dedent code by 2 spaces */ dedent(): this; /** * Write a statement to the buffer */ writeStatement(line: string, multiline?: boolean): this; /** * Write an expression to the buffer. Colon is appended to * expressions. */ writeExpression(line: string, multiline?: boolean): this; /** * Write a comment to the buffer */ writeComment(line: string, multiline?: boolean): this; /** * Write a new empty line to the buffer */ newLine(): this; /** * Define the wrapping code for the output string. To have * proper indentation on the output, it is recommended to defined * the wrapping blocks upfront. */ wrappingCode(blocks: [string, string]): this; /** * Return the string representation of the buffer */ toString(): string; /** * Same as `toString` but cleans up the internal stored * values. */ flush(): string; }