import { z } from 'zod';
/**
 * Quote request validation schema
 */
export declare const quoteRequestSchema: z.ZodObject<{
    customerName: z.ZodString;
    email: z.ZodString;
    phone: z.ZodString;
    address: z.ZodOptional<z.ZodString>;
    propertyType: z.ZodEnum<["RESIDENTIAL", "COMMERCIAL", "INDUSTRIAL"]>;
    energyConsumption: z.ZodOptional<z.ZodNumber>;
    systemSize: z.ZodOptional<z.ZodNumber>;
    budgetRange: z.ZodOptional<z.ZodString>;
    message: z.ZodOptional<z.ZodString>;
    source: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    customerName: string;
    email: string;
    phone: string;
    propertyType: "RESIDENTIAL" | "COMMERCIAL" | "INDUSTRIAL";
    address?: string | undefined;
    message?: string | undefined;
    energyConsumption?: number | undefined;
    systemSize?: number | undefined;
    budgetRange?: string | undefined;
    source?: string | undefined;
}, {
    customerName: string;
    email: string;
    phone: string;
    propertyType: "RESIDENTIAL" | "COMMERCIAL" | "INDUSTRIAL";
    address?: string | undefined;
    message?: string | undefined;
    energyConsumption?: number | undefined;
    systemSize?: number | undefined;
    budgetRange?: string | undefined;
    source?: string | undefined;
}>;
export type QuoteRequest = z.infer<typeof quoteRequestSchema>;
/**
 * Contact form validation schema
 */
export declare const contactFormSchema: z.ZodObject<{
    name: z.ZodString;
    email: z.ZodString;
    phone: z.ZodOptional<z.ZodString>;
    subject: z.ZodOptional<z.ZodString>;
    message: z.ZodString;
}, "strip", z.ZodTypeAny, {
    email: string;
    message: string;
    name: string;
    phone?: string | undefined;
    subject?: string | undefined;
}, {
    email: string;
    message: string;
    name: string;
    phone?: string | undefined;
    subject?: string | undefined;
}>;
export type ContactForm = z.infer<typeof contactFormSchema>;
/**
 * Login validation schema
 */
export declare const loginSchema: z.ZodObject<{
    email: z.ZodString;
    password: z.ZodString;
}, "strip", z.ZodTypeAny, {
    email: string;
    password: string;
}, {
    email: string;
    password: string;
}>;
export type LoginInput = z.infer<typeof loginSchema>;
/**
 * Create user validation schema
 */
export declare const createUserSchema: z.ZodObject<{
    email: z.ZodString;
    password: z.ZodString;
    name: z.ZodString;
    role: z.ZodOptional<z.ZodEnum<["SUPER_ADMIN", "ADMIN", "SALES"]>>;
}, "strip", z.ZodTypeAny, {
    email: string;
    name: string;
    password: string;
    role?: "SUPER_ADMIN" | "ADMIN" | "SALES" | undefined;
}, {
    email: string;
    name: string;
    password: string;
    role?: "SUPER_ADMIN" | "ADMIN" | "SALES" | undefined;
}>;
export type CreateUser = z.infer<typeof createUserSchema>;
/**
 * Update quote validation schema
 */
export declare const updateQuoteSchema: z.ZodObject<{
    status: z.ZodOptional<z.ZodEnum<["PENDING", "CONTACTED", "QUOTED", "CONVERTED", "REJECTED"]>>;
    priority: z.ZodOptional<z.ZodEnum<["LOW", "MEDIUM", "HIGH"]>>;
    assignedToId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    status?: "PENDING" | "CONTACTED" | "QUOTED" | "CONVERTED" | "REJECTED" | undefined;
    priority?: "LOW" | "MEDIUM" | "HIGH" | undefined;
    assignedToId?: string | null | undefined;
}, {
    status?: "PENDING" | "CONTACTED" | "QUOTED" | "CONVERTED" | "REJECTED" | undefined;
    priority?: "LOW" | "MEDIUM" | "HIGH" | undefined;
    assignedToId?: string | null | undefined;
}>;
export type UpdateQuote = z.infer<typeof updateQuoteSchema>;
/**
 * Update user validation schema
 */
export declare const updateUserSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    role: z.ZodOptional<z.ZodEnum<["SUPER_ADMIN", "ADMIN", "SALES"]>>;
    isActive: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    name?: string | undefined;
    role?: "SUPER_ADMIN" | "ADMIN" | "SALES" | undefined;
    isActive?: boolean | undefined;
}, {
    name?: string | undefined;
    role?: "SUPER_ADMIN" | "ADMIN" | "SALES" | undefined;
    isActive?: boolean | undefined;
}>;
export type UpdateUser = z.infer<typeof updateUserSchema>;
//# sourceMappingURL=validators.d.ts.map