import type { Name } from "../../Naming.js";
import type { RenderContext } from "../../Renderer.js";
import type { OptionValues } from "../../RendererOptions/index.js";
import type { TargetLanguage } from "../../TargetLanguage.js";
import { type ArrayType, ClassType, type EnumType, type MapType, type PrimitiveType, type Type, UnionType } from "../../Type/index.js";
import { KotlinRenderer } from "./KotlinRenderer.js";
import type { kotlinOptions } from "./language.js";
export declare class KotlinKlaxonRenderer extends KotlinRenderer {
    constructor(targetLanguage: TargetLanguage, renderContext: RenderContext, _kotlinOptions: OptionValues<typeof kotlinOptions>);
    private unionMemberFromJsonValue;
    private unionMemberJsonValueGuard;
    protected emitUsageHeader(): void;
    protected emitHeader(): void;
    protected emitTopLevelArray(t: ArrayType, name: Name): void;
    protected emitTopLevelMap(t: MapType, name: Name): void;
    private klaxonRenameAttribute;
    protected emitEmptyClassDefinition(c: ClassType, className: Name): void;
    protected emitClassDefinitionMethods(c: ClassType, className: Name): void;
    protected renameAttribute(name: Name, jsonName: string, _required: boolean, meta: Array<() => void>): void;
    protected emitEnumDefinition(e: EnumType, enumName: Name): void;
    private emitGenericConverter;
    protected emitUnionDefinitionMethods(u: UnionType, nonNulls: ReadonlySet<Type>, maybeNull: PrimitiveType | null, unionName: Name): void;
}
