import type { Token } from 'pug-lexer'; import type { PugFmtOptions } from './options'; /** * The printer class. */ export declare class PugPrinter { private readonly content; private tokens; private readonly options; private result; /** * The index of the current token inside the `tokens` array. */ private currentIndex; private currentLineLength; private readonly indentString; private indentLevel; private readonly quotes; private readonly otherQuotes; private readonly alwaysUseAttributeSeparator; private readonly neverUseAttributeSeparator; private readonly wrapAttributesPattern; private currentTagPosition; private possibleIdPosition; private possibleClassPosition; private previousAttributeRemapped; /** * Specifies whether attributes should be wrapped in a tag or not. */ private wrapAttributes; private pipelessText; private pipelessComment; private currentlyInPugInterpolation; private readonly classLiteralToAttribute; private readonly classLiteralAfterAttributes; /** * Constructs a new pug printer. * * @param content The pug content string. * @param tokens The pug token array. * @param options Options for the printer. */ constructor(content: string, tokens: Token[], options: Required); private get computedIndent(); private get previousToken(); private get nextToken(); /** * Builds the formatted pug content. * * @returns The formatted pug content. */ build(): string; private getNextToken; private quoteString; private checkTokenType; private tokenNeedsSeparator; private getUnformattedContentLines; private replaceTagWithLiteralIfPossible; private frameworkFormat; private formatText; private formatDelegatePrettier; private formatStyleAttribute; private formatVueEventBinding; private formatVueExpression; private formatAngularBinding; private formatAngularAction; private formatAngularDirective; private formatFrameworkInterpolation; private formatAngularInterpolation; private formatSvelteInterpolation; private tag; private ['start-attributes']; private attribute; private ['end-attributes']; private indent; private outdent; private class; private eos; private comment; private newline; private text; private ['interpolated-code']; private code; private id; private ['start-pipeless-text']; private ['end-pipeless-text']; private doctype; private dot; private block; private extends; private path; private ['start-pug-interpolation']; private ['end-pug-interpolation']; private interpolation; private include; private filter; private call; private mixin; private if; private ['mixin-block']; private else; private ['&attributes']; private ['text-html']; private each; private eachOf; private while; private case; private when; private [':']; private default; private ['else-if']; private blockcode; private yield; private slash; }