import * as yup from 'yup'; /** * Schema for validating email addresses. * Requires a valid email format and is mandatory. */ export declare const emailSchema: yup.StringSchema; /** * Schema for validating passwords. * Requires at least 8 characters, one uppercase, one lowercase, and one number. */ export declare const passwordSchema: yup.StringSchema; /** * Schema for validating phone numbers. * Accepts optional '+' and up to 15 digits. */ export declare const phoneSchema: yup.StringSchema, yup.AnyObject, undefined, "">; /** * Schema for a required string field. */ export declare const requiredStringSchema: yup.StringSchema; /** * Schema for an optional string field. */ export declare const optionalStringSchema: yup.StringSchema, yup.AnyObject, undefined, "">; /** * Schema for a required number field. * Ensures the value is a number. */ export declare const numberSchema: yup.NumberSchema; /** * Schema for an optional number field. * Ensures the value is a number if provided. */ export declare const optionalNumberSchema: yup.NumberSchema, yup.AnyObject, undefined, "">; /** * Schema for a required date field. * Ensures the value is a valid date. */ export declare const dateSchema: yup.DateSchema; /** * Schema for a required URL field. * Ensures the value is a valid URL. */ export declare const urlSchema: yup.StringSchema; /** * Schema for login forms. * Requires email and password fields. */ export declare const loginSchema: yup.ObjectSchema<{ email: string; password: string; }, yup.AnyObject, { email: undefined; password: undefined; }, "">; /** * Schema for registration forms. * Requires first name, last name, email, password, and confirm password fields. * Ensures confirm password matches password. */ export declare const registrationSchema: yup.ObjectSchema<{ firstName: string; lastName: string; email: string; password: string; confirmPassword: string; }, yup.AnyObject, { firstName: undefined; lastName: undefined; email: undefined; password: undefined; confirmPassword: undefined; }, "">; /** * Schema for contact forms. * Requires name, email, and message fields. * Phone is optional. */ export declare const contactSchema: yup.ObjectSchema<{ name: string; email: string; phone: yup.Maybe; message: string; }, yup.AnyObject, { name: undefined; email: undefined; phone: undefined; message: undefined; }, "">; /** * Type for login form values inferred from loginSchema. */ export type LoginForm = yup.InferType; /** * Type for registration form values inferred from registrationSchema. */ export type RegistrationForm = yup.InferType; /** * Type for contact form values inferred from contactSchema. */ export type ContactForm = yup.InferType;