import type { Declaration } from './types';
/**
 * Convert declarations to JSON Schema
 */
export declare function toJsonSchema(declarations: Declaration[], options?: Partial<FormatOptions>): string;
/**
 * Convert declarations to Zod schema
 */
export declare function toZod(declarations: Declaration[], options?: Partial<FormatOptions>): string;
/**
 * Convert declarations to Valibot schema
 */
export declare function toValibot(declarations: Declaration[], options?: Partial<FormatOptions>): string;
/**
 * Convert declarations to io-ts codec
 */
export declare function toIoTs(declarations: Declaration[], options?: Partial<FormatOptions>): string;
/**
 * Convert declarations to Yup schema
 */
export declare function toYup(declarations: Declaration[], options?: Partial<FormatOptions>): string;
/**
 * Convert declarations to ArkType schema
 */
export declare function toArkType(declarations: Declaration[], options?: Partial<FormatOptions>): string;
/**
 * Convert declarations to the specified format
 */
export declare function convertToFormat(declarations: Declaration[], options: FormatOptions): string;
/**
 * Get file extension for output format
 */
export declare function getFormatExtension(format: OutputFormat): string;
/**
 * Options for format conversion
 */
export declare interface FormatOptions {
  format: OutputFormat
  includeSchema?: boolean
  jsonSchemaDraft?: '2020-12' | '2019-09' | 'draft-07'
  allOptional?: boolean
  includeDescriptions?: boolean
  indent?: number
  exportName?: string
  useInfer?: boolean
}
/**
 * Supported output formats
 */
export type OutputFormat = 'dts' | 'json-schema' | 'zod' | 'io-ts' | 'yup' | 'valibot' | 'arktype';
