/** Canonical print width for generated TypeScript source. */ export declare const TYPESCRIPT_PRINT_WIDTH = 80; /** * Quote arbitrary text as a single-quoted TypeScript string literal. * * The emitter intentionally does not use `JSON.stringify()` because JSON * always chooses double quotes, while generated TypeScript is checked by the * repository's single-quote formatting policy. * * @param value Raw string value. * @returns A TypeScript string literal that evaluates to `value`. */ export declare function quoteTypeScriptString(value: string): string; /** * Render a stable multi-line TypeScript array of string literals. * * @param values String values to render. * @returns `[]` for an empty array, otherwise a two-space indented array. */ export declare function renderTypeScriptStringArray(values: readonly string[]): string; /** * Render a named TypeScript import using the canonical 80-column layout. * * @param names Imported binding names in their desired order. * @param moduleSpecifier Module specifier to quote. * @param options Import rendering options. * @returns A compact import when it fits, otherwise one binding per line. */ export declare function renderNamedTypeScriptImport(names: readonly string[], moduleSpecifier: string, options?: { typeOnly?: boolean; }): string; /** * Render a call expression on one line when it fits the generated-source * policy, otherwise place each argument on its own indented line. */ export declare function renderTypeScriptCallLine(options: { args: readonly string[]; callee: string; indentation: string; prefix: string; suffix: string; }): string; /** * Render a print-width-aware exported const initialized by a one-argument call. */ export declare function renderTypeScriptConstCall(constName: string, callee: string, argument: string): string; export declare function renderTypeScriptPropertyKey(name: string): string; /** * Render JSON-compatible data as a deterministic TypeScript expression. * * Unlike `JSON.stringify()`, emitted string literals follow the generated * project's single-quote policy. Objects and arrays use two-space indentation * and trailing commas so the result can be embedded directly in generated * modules checked by `ttsc`. * * @param value JSON-compatible data to render. * @returns A TypeScript expression preserving the input value. */ export declare function renderTypeScriptValue(value: unknown, maxInlineLength?: number): string;