import type { Parser } from "@hylimo/core"; import type { Plugin } from "prettier"; import type { TextDocument } from "vscode-languageserver-textdocument"; import type { IToken } from "chevrotain"; import type { Node } from "./types.js"; /** * Formatter used to format syncscript documents using a prettier plugin */ export declare class Formatter { private readonly parser; /** * Creates a new formatter using the provided parser * * @param parser the parser to create the cst */ constructor(parser: Parser); /** * Transforms the CST to a format prettier can use better * * @param cst the CST to transform * @returns the transformed CST */ private transformCst; /** * The prettier plugin to use */ readonly plugin: Plugin; /** * Formats the whole document * * @param document the document to format * @param options define how formatting is done * @returns the edits defining how to update the document */ formatDocument(document: TextDocument, options: { useTabs?: boolean; tabWidth?: number; }): Promise; } //# sourceMappingURL=formatter.d.ts.map