import type { NodeProperty, NodeTypeDescription, DiscriminatorCombination, DiscriminatorTree, AIInputTypeInfo } from './generate-types'; export declare function isPropertyOptional(prop: NodeProperty): boolean; export declare function extractDefaultsForDisplayOptions(displayOptions: { show?: Record; hide?: Record; }, allProperties: NodeProperty[]): Record; export declare function mapPropertyToZodSchema(prop: NodeProperty): string; export declare function generateSchemaPropertyLine(prop: NodeProperty, optional: boolean): string; export declare function stripDiscriminatorKeysFromDisplayOptions(displayOptions: { show?: Record; hide?: Record; }, discriminatorKeys: string[]): { show?: Record; hide?: Record; } | undefined; type MergeableDisplayOptions = { show?: Record; hide?: Record; }; export declare function mergeDisplayOptions(existing: MergeableDisplayOptions, incoming: MergeableDisplayOptions): MergeableDisplayOptions; export declare function mergePropertiesByName(properties: NodeProperty[]): Map; export declare function generateConditionalSchemaLine(prop: NodeProperty, allProperties?: NodeProperty[]): string; export declare function collectDeclarationsByName(properties: NodeProperty[]): Map; type DisplayOptionsValue = NonNullable; interface SchemaVariant { prop: NodeProperty; displayOptions: DisplayOptionsValue; } export declare function generateOneOfSchemaLine(variants: SchemaVariant[], allProperties?: NodeProperty[]): string; export declare function generateMergedSchemaLine(mergedProp: NodeProperty, declarations: NodeProperty[], allProperties: NodeProperty[], keysToStrip: string[]): string; export interface SchemaGenerationResult { code: string; schemaInfos: SchemaInfo[]; } export interface SchemaInfo { schemaName: string; typeName: string; resource?: string; operation?: string; discriminators: Record; } export declare function generateSubnodeConfigSchemaCode(aiInputTypes: AIInputTypeInfo[], schemaName: string, allProperties?: NodeProperty[]): string | null; export declare function getSubnodeSchemaImports(aiInputTypes: AIInputTypeInfo[]): string[]; export declare function generateSingleVersionSchemaFile(node: NodeTypeDescription, specificVersion: number): string; export declare function generateSchemaIndexFile(node: NodeTypeDescription, versions: number[]): string; export declare function generateDiscriminatorSchemaFile(node: NodeTypeDescription, version: number, combo: DiscriminatorCombination, props: NodeProperty[], _importDepth: number, aiInputTypes?: AIInputTypeInfo[]): string; export declare function generateResourceIndexSchemaFile(node: NodeTypeDescription, _version: number, resource: string, operations: string[]): string; export declare function generateSplitVersionIndexSchemaFile(node: NodeTypeDescription, version: number, tree: DiscriminatorTree): string; export declare function planSplitVersionSchemaFiles(node: NodeTypeDescription, version: number): Map; export {};