import type { Name } from "../../Naming.js";
import { type Sourcelike } from "../../Source.js";
import type { ClassType, EnumType, Type } from "../../Type/index.js";
import type { JavaScriptTypeAnnotations } from "../JavaScript/index.js";
import { TypeScriptFlowBaseRenderer } from "./TypeScriptFlowBaseRenderer.js";
export declare class TypeScriptRenderer extends TypeScriptFlowBaseRenderer {
    protected forbiddenNamesForGlobalNamespace(): string[];
    protected deserializerFunctionLine(t: Type, name: Name): Sourcelike;
    protected serializerFunctionLine(t: Type, name: Name): Sourcelike;
    protected get moduleLine(): string | undefined;
    protected get typeAnnotations(): JavaScriptTypeAnnotations;
    protected emitModuleExports(): void;
    protected emitUsageImportComment(): void;
    protected emitEnum(e: EnumType, enumName: Name): void;
    protected emitClassBlock(c: ClassType, className: Name): void;
}
