import { GenerateTypeUtils } from "../converter/BaseConverter.js"; import { IRNode } from "../types.js"; import type { KotlinConverterContext } from "./KotlinConverter.js"; /** Returns true if the property is optional or its type union includes null. */ export declare function isPropertyNullable(prop: IRNode): boolean; /** * Emits a Kotlin data-class constructor body for an object IR node, including * KDoc comments for unmodelled `additionalProperties`, per-property * `@SerialName`/`@Contextual` annotations, and nullable/default-value suffixes * driven by `required` and union-includes-null analysis. * * When `c.inlineTypes` is true, nested object types extracted from this node's * properties are emitted as nested `data class` declarations inside this * node's body block — `(\n ...,\n) {\n data class Inner(...)\n}` — instead * of being registered as top-level siblings. The shared * {@link generateInlineNestedDecl} helper drives the per-parent collector. */ export declare function generateKotlinObjectType(c: KotlinConverterContext, ir: IRNode, utils: GenerateTypeUtils): string;