/** * Which delimiter a string literal is written with, and the escapes that * choice implies. Canonicalizing one literal never reads anything outside it, * so this module imports nothing from its siblings. * * D115 §三 / D114 R1f: the string half of `formatter.ts`. */ import { type StringLiteralScan } from "../interpolated-string.ts"; export type CanonicalStringChunk = { readonly kind: "text" | "templateText"; readonly value: string; } | { readonly kind: "expression"; readonly value: string; }; export declare function canonicalizeInlineString(source: string): string; export declare function protectCanonicalEscapes(source: string, scanned: StringLiteralScan): { readonly source: string; readonly restore: (value: string) => string; }; export declare function splitCanonicalStringChunks(source: string, scanned: StringLiteralScan): CanonicalStringChunk[] | null; export declare function decodeCanonicalStringText(value: string, scanned: StringLiteralScan, collapseBraces: boolean): string | null; export declare function encodeCanonicalStringText(value: string, quote: '"' | "`", raw: boolean, interpolated: boolean, templateText: boolean): string; //# sourceMappingURL=strings.d.ts.map