import { IRNode } from "../types.js"; import { BaseConverter, GenerateTypeUtils } from "../converter/BaseConverter.js"; export type { RefTypeNamingConfig, GenerateTypeUtils } from "../converter/BaseConverter.js"; export type { RefTypeName, RefTypes, RefTypeEntry } from "../converter/BaseConverter.js"; export declare abstract class TypescriptBaseConverter extends BaseConverter { protected emitJSDoc: boolean; /** * Recursively generates a TypeScript type string for the given IR node. */ protected generateType(ir: IRNode, utils: GenerateTypeUtils): string; protected generateArrayType(ir: IRNode, utils: GenerateTypeUtils): string; protected generateTupleType(ir: IRNode, utils: GenerateTypeUtils): string; protected generateUnionType(ir: IRNode, utils: GenerateTypeUtils): string; protected generateIntersectionType(ir: IRNode, utils: GenerateTypeUtils): string; protected generateEnumType(ir: IRNode): string; protected generateLiteralType(ir: IRNode): string; protected getPrimitiveTypeMap(): Record; /** * Generates a TypeScript object type (as an inline type literal) from the given IR node. * @internal Public for `BaseConverterContext`; treat as protected for subclasses. */ generateObjectType(ir: IRNode, utils: GenerateTypeUtils): string; protected isValidIdentifier(name: string): boolean; protected formatJSDoc(description: string, title?: string): string; }