import type { Comment, Expression, TemplateLiteral } from "estree"; import type { AstPath, Doc, Options } from "prettier"; import { builders } from "prettier/doc"; import type { LiteralUnion, OmitIndexSignature, UnionToIntersection } from "type-fest"; import type { InternalPrintFun } from "../types.js"; export declare function printTemplateExpression(path: AstPath, print: InternalPrintFun, templateLiteral: TemplateLiteral, index: number, tabWidth: number): builders.Group; export declare function printTemplateExpressions(path: AstPath, print: InternalPrintFun, options?: Options): builders.Group[]; export declare function simpleRehydrateDoc(doc: Doc, placeholderRegex: RegExp, expressionDocs: Doc[], /** * How to handle newlines in the formatted content: * - false: keep newlines as-is (default) * - "hardline": replace newlines with hardline (adds indentation) * - "literalline": replace newlines with literalline via replaceEndOfLine (preserves original indentation) */ newlineHandling?: false | "hardline" | "literalline"): builders.Doc[] | builders.DocCommand; export declare function insertLanguage(languages: string[], language: string, firstLanguage: string): void; export declare const randomUUID: () => string; export declare function preparePlaceholder(leading?: string, trailing?: string): { createPlaceholder: (index: number) => string; placeholderRegex: RegExp; }; export declare function escapeRegExp(text: string): string; export declare function makeIdentifiersOptionName(language: T): `${T}Identifiers`; export declare function makeCommentsOptionName(language: T): `${T}Comments`; export declare function makeTagsOptionName(language: T): `${T}Tags`; export declare function makePluginOptionName(language: T): `${T}Plugin`; export declare function makeParserOptionName(language: T): `${T}Parser`; export type AutocompleteStringList = LiteralUnion[]; export type StringListToInterfaceKey = { [key in T[number]]: undefined; }; export type Satisfies = T; export type NormalizeOptions = OmitIndexSignature<{ [k in keyof UnionToIntersection]?: k extends keyof T ? T[k] : UnionToIntersection[k]; }>; export declare const fallbackIndicator = "9ff2b366e8ca4c97b9aed1a29b5b94ed";