import { ConstrainedMetaModel } from '@asyncapi/modelina'; import { TypeScriptRenderer } from '@asyncapi/modelina/lib/types/generators/typescript/TypeScriptRenderer'; import { TypescriptHeadersContext, TypeScriptPayloadContext } from '../../generators'; /** * Safe stringify that removes x- properties and circular references by assuming true */ export declare function safeStringify(value: any): string; export declare function generateTypescriptValidationCode({ model, renderer, asClassMethods, context }: { model: ConstrainedMetaModel; renderer: TypeScriptRenderer; asClassMethods?: boolean; context: TypeScriptPayloadContext | TypescriptHeadersContext; }): string; export interface BaseGeneratorContext { inputType: 'asyncapi' | 'openapi'; generator: { includeValidation?: boolean; }; } /** * Configuration options for the validation preset */ export interface ValidationPresetOptions { /** Whether to include validation methods in generated models */ includeValidation: boolean; /** Whether to generate as class methods (true) or standalone functions (false) */ asClassMethods?: boolean; } /** * Creates a validation preset that adds AJV validation methods to generated TypeScript models * * @param options Configuration for validation generation * @param context Generator context containing input type information * @returns Modelina preset object with validation functionality * * @example * ```typescript * const preset = createValidationPreset({ * includeValidation: true, * asClassMethods: true * }, context); * ``` */ export declare function createValidationPreset(options: ValidationPresetOptions, context: BaseGeneratorContext): { class: { additionalContent: ({ content, model, renderer }: { content: string; model: ConstrainedMetaModel; renderer: TypeScriptRenderer; }) => string; }; }; /** * Creates a validation preset for union types (generates standalone functions) * * @param options Configuration for validation generation * @param context Generator context containing input type information * @returns Modelina preset object with validation functionality for union types */ export declare function createUnionValidationPreset(options: ValidationPresetOptions, context: BaseGeneratorContext): { type?: undefined; } | { type: { additionalValidation: (model: ConstrainedMetaModel, renderer: TypeScriptRenderer) => string; }; };