import { z } from 'zod'; /** * Validation schemas */ export declare const ValidationSchemas: { sshConfig: z.ZodObject<{ host: z.ZodString; port: z.ZodNumber; username: z.ZodString; password: z.ZodOptional; privateKey: z.ZodOptional; passphrase: z.ZodOptional; }, z.core.$strip>; databaseConfig: z.ZodObject<{ username: z.ZodString; password: z.ZodString; server: z.ZodString; domainFolder: z.ZodString; port: z.ZodNumber; localProjectFolder: z.ZodOptional; externalProjectFolder: z.ZodString; wordpress: z.ZodOptional; externalPhpPath: z.ZodOptional; localProjectUrl: z.ZodOptional; commandsFolder: z.ZodOptional; stagingUsername: z.ZodOptional; externalElasticsearchPort: z.ZodOptional; sshKeyName: z.ZodOptional; sshKeyLocation: z.ZodOptional; }, z.core.$strip>; settingsConfig: z.ZodObject<{ general: z.ZodObject<{ localDomainExtension: z.ZodString; elasticsearchPort: z.ZodString; databaseLocation: z.ZodString; }, z.core.$strip>; ssh: z.ZodObject<{ keyLocation: z.ZodString; passphrase: z.ZodDefault>; }, z.core.$strip>; magentoBackend: z.ZodObject<{ adminUsername: z.ZodString; adminPassword: z.ZodString; adminEmailAddress: z.ZodString; }, z.core.$strip>; }, z.core.$strip>; filePath: z.ZodString; port: z.ZodNumber; email: z.ZodString; url: z.ZodString; stripType: z.ZodEnum<{ development: "development"; staging: "staging"; "keep customer data": "keep customer data"; "full and human readable": "full and human readable"; full: "full"; }>; databaseType: z.ZodEnum<{ production: "production"; staging: "staging"; }>; syncTypes: z.ZodOptional>>; }; export declare class ValidationService { private static instance; private logger; private constructor(); static getInstance(): ValidationService; /** * Validate data against a schema */ validate(schema: z.ZodSchema, data: unknown, context?: string): T; /** * Validate SSH configuration */ validateSSHConfig(config: unknown): z.infer; /** * Validate database configuration */ validateDatabaseConfig(config: unknown): z.infer; /** * Validate settings configuration */ validateSettingsConfig(config: unknown): any; /** * Validate file path */ validateFilePath(path: string): string; /** * Validate port number */ validatePort(port: number): number; /** * Validate email address */ validateEmail(email: string): string; /** * Validate URL */ validateURL(url: string): string; /** * Check if value is defined and not null */ isDefined(value: T | null | undefined, fieldName: string): T; /** * Validate array is not empty */ validateNotEmpty(array: T[], fieldName: string): T[]; /** * Safe parse - returns success/error object instead of throwing */ safeParse(schema: z.ZodSchema, data: unknown): { success: boolean; data?: T; error?: string; }; } //# sourceMappingURL=ValidationService.d.ts.map