/**
 * Zod validation schemas for input validation
 */
import { z } from "zod";
/**
 * Basic positive number schema with automatic number transformation
 */
export declare const positiveNumber: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
/**
 * Non-negative number schema (allows zero)
 */
export declare const nonNegativeNumber: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
/**
 * Francis turbine input validation schema
 */
export declare const francisInputSchema: z.ZodObject<{
    ppg: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
    npg: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
    w1: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
    w2: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
    rpm: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
}, z.core.$strip>;
/**
 * Pelton wheel input validation schema
 */
export declare const peltonInputSchema: z.ZodObject<{
    pg: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
    w1: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
    w2: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
    rpm: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
    hf: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
}, z.core.$strip>;
/**
 * Kaplan turbine input validation schema
 */
export declare const kaplanInputSchema: z.ZodObject<{
    pg: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
    w1: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
    w2: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
    rpm: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
    lhs_mercury: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
    rhs_mercury: z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodTransform<number, string | number>>;
}, z.core.$strip>;
export type FrancisInput = z.infer<typeof francisInputSchema>;
export type PeltonInput = z.infer<typeof peltonInputSchema>;
export type KaplanInput = z.infer<typeof kaplanInputSchema>;
//# sourceMappingURL=validation.d.ts.map