import { JSONSchema7 } from 'json-schema'; /** * Comprehensive JSON Schema for Prisma Zod Generator configuration * * This schema defines strict validation rules for all configuration options * including data types, constraints, and allowed values. */ export declare const ConfigurationSchema: JSONSchema7; /** * Schema for validating individual field names */ export declare const FieldNameSchema: JSONSchema7; /** * Schema for validating model names (PascalCase) */ export declare const ModelNameSchema: JSONSchema7; /** * Schema for validating output directory paths */ export declare const OutputPathSchema: JSONSchema7; /** * Schema for validating file suffixes */ export declare const SuffixSchema: JSONSchema7; /** * Available Prisma operations that can be configured */ export declare const PRISMA_OPERATIONS: readonly ["findMany", "findUnique", "findUniqueOrThrow", "findFirst", "findFirstOrThrow", "create", "createMany", "createManyAndReturn", "update", "updateMany", "updateManyAndReturn", "upsert", "delete", "deleteMany", "aggregate", "groupBy", "count"]; /** * Available generation modes */ export declare const GENERATION_MODES: readonly ["full", "minimal", "custom"]; /** * Available schema variants */ export declare const SCHEMA_VARIANTS: readonly ["pure", "input", "result"]; /** * Default configuration values */ export declare const DEFAULT_CONFIG: { readonly mode: "full"; readonly output: "./generated"; readonly globalExclusions: {}; readonly variants: { readonly pure: { readonly enabled: true; readonly suffix: ".model"; }; readonly input: { readonly enabled: true; readonly suffix: ".input"; }; readonly result: { readonly enabled: true; readonly suffix: ".result"; }; }; readonly models: {}; }; /** * Minimal mode operation set */ export declare const MINIMAL_OPERATIONS: readonly ["findMany", "findUnique", "findFirst", "create", "update", "delete"]; /** * Configuration validation error types */ export declare enum ValidationErrorType { INVALID_JSON_SCHEMA = "INVALID_JSON_SCHEMA", INVALID_FIELD_NAME = "INVALID_FIELD_NAME", INVALID_MODEL_NAME = "INVALID_MODEL_NAME", INVALID_OPERATION = "INVALID_OPERATION", INVALID_MODE = "INVALID_MODE", INVALID_VARIANT = "INVALID_VARIANT", DUPLICATE_VALUES = "DUPLICATE_VALUES", MISSING_REQUIRED = "MISSING_REQUIRED" } /** * Configuration validation error details */ export interface ValidationError { type: ValidationErrorType; message: string; path: string; value?: unknown; allowedValues?: unknown[]; } /** * Utility function to validate field names */ export declare function isValidFieldName(fieldName: string): boolean; /** * Utility function to validate model names (PascalCase) */ export declare function isValidModelName(modelName: string): boolean; /** * Utility function to validate Prisma operations */ export declare function isValidOperation(operation: string): boolean; /** * Utility function to validate generation modes */ export declare function isValidMode(mode: string): boolean; /** * Utility function to validate schema variants */ export declare function isValidVariant(variant: string): boolean; /** * Utility function to validate file suffixes */ export declare function isValidSuffix(suffix: string): boolean; /** * Get schema reference for a specific configuration section */ export declare function getSchemaSection(section: 'variantConfig' | 'modelConfig'): JSONSchema7; /** * Create a custom schema for validating specific parts of the configuration */ export declare function createPartialSchema(properties: string[]): JSONSchema7;