import { z } from 'zod';
/**
 * Validates financial amounts (can be negative for costs)
 */
export declare function validateFinancialAmount(value: number, fieldName: string, allowNegative?: boolean): number;
/**
 * Validates percentage values (0-1)
 */
export declare function validatePercentage(value: number, fieldName: string): number;
/**
 * Validates rate values (can be negative for decline)
 */
export declare function validateRate(value: number, fieldName: string): number;
/**
 * Validates volume/count values
 */
export declare function validateVolume(value: number, fieldName: string): number;
/**
 * Validates time duration in months
 */
export declare function validateMonths(value: number, fieldName: string): number;
/**
 * Validates Monte Carlo iterations
 */
export declare function validateIterations(value: number, fieldName?: string): number;
/**
 * Zod schemas with custom refinements
 */
export declare const FinancialAmountSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number>, number, number>, number, number>;
export declare const PositiveFinancialAmountSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number>, number, number>, number, number>, number, number>;
export declare const PercentageSchema: z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number>, number, number>;
export declare const RateSchema: z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number>, number, number>;
export declare const VolumeSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number>, number, number>, number, number>, number, number>;
export declare const MonthsSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number>, number, number>, number, number>, number, number>;
export declare const IterationsSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number>, number, number>, number, number>;
/**
 * Validates an entire use case object
 */
export declare function validateUseCase(useCase: any): void;
/**
 * Sanitizes string inputs to prevent injection attacks
 */
export declare function sanitizeString(input: string, maxLength?: number): string;
/**
 * Validates array inputs
 */
export declare function validateArray<T>(arr: T[], fieldName: string, minLength?: number, maxLength?: number): T[];
//# sourceMappingURL=validators.d.ts.map