import { DtoMessage, ImportBase } from './dto.js'; import type { TokenSchema } from './token.js'; export type EnumResolver = (enumName: string) => ImportBase | undefined; /** Collect all imports needed to render a DTO: include() bases + enum references. */ export declare function collectDtoImports(schema: DtoMessage, resolver: EnumResolver | undefined, out: Map): void; /** Render one DTO export (const + type) — no file header, for file-level generation. */ export declare function renderDtoExport(schema: DtoMessage, resolver: EnumResolver | undefined): string; /** Render the Static type export for a DTO. */ export declare function renderDtoTypeExport(name: string): string; /** Render one token export: a flat TypeBox object. Security fields keep * their declared optionality (secret required, cipher optional); identity * fields are Optional except the primary-key anchor — they only exist after * login (two-state object, flat runtime shape), while the PK is guaranteed * to be projected (token validation enforces it) and serves as the identity * anchor (e.g. the tenant key for tenant-scoped controllers). */ export declare function renderTokenExport(token: TokenSchema, resolver: EnumResolver | undefined): string; /** Render the Static type export for a token. */ export declare function renderTokenTypeExport(name: string): string; /** Collect all imports needed to render a token: enum references across * security + identity fields. */ export declare function collectTokenImports(token: TokenSchema, resolver: EnumResolver | undefined, out: Map): void; export declare function renderDtoMessage(schema: DtoMessage, options?: { resolver?: EnumResolver; source?: string; }): string;