import { z } from "zod"; export declare const loginRequestSchema: z.ZodObject<{ email: z.ZodString; password: z.ZodString; }, z.core.$strip>; export declare const signupInputSchema: z.ZodObject<{ email: z.ZodString; password: z.ZodString; firstName: z.ZodString; lastName: z.ZodString; company: z.ZodOptional; phone: z.ZodString; sfNumber: z.ZodString; address: z.ZodOptional>; address2: z.ZodOptional>; city: z.ZodOptional>; state: z.ZodOptional>; postcode: z.ZodOptional>; country: z.ZodOptional>; countryCode: z.ZodOptional>; phoneNumber: z.ZodOptional>; phoneCountryCode: z.ZodOptional>; }, z.core.$strip>>; nationality: z.ZodOptional; dateOfBirth: z.ZodOptional; gender: z.ZodOptional>; acceptTerms: z.ZodBoolean; marketingConsent: z.ZodOptional; }, z.core.$strip>; export declare const signupRequestSchema: z.ZodPipe; phone: z.ZodString; sfNumber: z.ZodString; address: z.ZodOptional>; address2: z.ZodOptional>; city: z.ZodOptional>; state: z.ZodOptional>; postcode: z.ZodOptional>; country: z.ZodOptional>; countryCode: z.ZodOptional>; phoneNumber: z.ZodOptional>; phoneCountryCode: z.ZodOptional>; }, z.core.$strip>>; nationality: z.ZodOptional; dateOfBirth: z.ZodOptional; gender: z.ZodOptional>; acceptTerms: z.ZodBoolean; marketingConsent: z.ZodOptional; }, z.core.$strip>, z.ZodTransform<{ firstname: string; lastname: string; companyname: string | undefined; phonenumber: string; email: string; password: string; firstName: string; lastName: string; phone: string; sfNumber: string; acceptTerms: boolean; company?: string | undefined; address?: { address1?: string | null | undefined; address2?: string | null | undefined; city?: string | null | undefined; state?: string | null | undefined; postcode?: string | null | undefined; country?: string | null | undefined; countryCode?: string | null | undefined; phoneNumber?: string | null | undefined; phoneCountryCode?: string | null | undefined; } | undefined; nationality?: string | undefined; dateOfBirth?: string | undefined; gender?: "male" | "female" | "other" | undefined; marketingConsent?: boolean | undefined; }, { email: string; password: string; firstName: string; lastName: string; phone: string; sfNumber: string; acceptTerms: boolean; company?: string | undefined; address?: { address1?: string | null | undefined; address2?: string | null | undefined; city?: string | null | undefined; state?: string | null | undefined; postcode?: string | null | undefined; country?: string | null | undefined; countryCode?: string | null | undefined; phoneNumber?: string | null | undefined; phoneCountryCode?: string | null | undefined; } | undefined; nationality?: string | undefined; dateOfBirth?: string | undefined; gender?: "male" | "female" | "other" | undefined; marketingConsent?: boolean | undefined; }>>; export declare const passwordResetRequestSchema: z.ZodObject<{ email: z.ZodString; }, z.core.$strip>; export declare const passwordResetSchema: z.ZodObject<{ token: z.ZodString; password: z.ZodString; }, z.core.$strip>; export declare const setPasswordRequestSchema: z.ZodObject<{ email: z.ZodString; password: z.ZodString; }, z.core.$strip>; export declare const changePasswordRequestSchema: z.ZodObject<{ currentPassword: z.ZodString; newPassword: z.ZodString; }, z.core.$strip>; export declare const linkWhmcsRequestSchema: z.ZodObject<{ email: z.ZodString; password: z.ZodString; }, z.core.$strip>; export declare const validateSignupRequestSchema: z.ZodObject<{ sfNumber: z.ZodString; }, z.core.$strip>; export declare const updateCustomerProfileRequestSchema: z.ZodObject<{ firstname: z.ZodOptional; lastname: z.ZodOptional; companyname: z.ZodOptional; phonenumber: z.ZodOptional; address1: z.ZodOptional; address2: z.ZodOptional; city: z.ZodOptional; state: z.ZodOptional; postcode: z.ZodOptional; country: z.ZodOptional; language: z.ZodOptional; }, z.core.$strip>; export declare const updateProfileRequestSchema: z.ZodObject<{ firstname: z.ZodOptional; lastname: z.ZodOptional; companyname: z.ZodOptional; phonenumber: z.ZodOptional; address1: z.ZodOptional; address2: z.ZodOptional; city: z.ZodOptional; state: z.ZodOptional; postcode: z.ZodOptional; country: z.ZodOptional; language: z.ZodOptional; }, z.core.$strip>; export declare const updateAddressRequestSchema: z.ZodObject<{ firstname: z.ZodOptional; lastname: z.ZodOptional; companyname: z.ZodOptional; phonenumber: z.ZodOptional; address1: z.ZodOptional; address2: z.ZodOptional; city: z.ZodOptional; state: z.ZodOptional; postcode: z.ZodOptional; country: z.ZodOptional; language: z.ZodOptional; }, z.core.$strip>; export declare const accountStatusRequestSchema: z.ZodObject<{ email: z.ZodString; }, z.core.$strip>; export declare const ssoLinkRequestSchema: z.ZodObject<{ destination: z.ZodOptional; }, z.core.$strip>; export declare const checkPasswordNeededRequestSchema: z.ZodObject<{ email: z.ZodString; }, z.core.$strip>; export declare const refreshTokenRequestSchema: z.ZodObject<{ refreshToken: z.ZodOptional; deviceId: z.ZodOptional; }, z.core.$strip>; export declare const authTokensSchema: z.ZodObject<{ accessToken: z.ZodString; refreshToken: z.ZodString; expiresAt: z.ZodString; refreshExpiresAt: z.ZodString; tokenType: z.ZodLiteral<"Bearer">; }, z.core.$strip>; export declare const authResponseSchema: z.ZodObject<{ user: z.ZodObject<{ id: z.ZodString; email: z.ZodString; role: z.ZodEnum<{ USER: "USER"; ADMIN: "ADMIN"; }>; emailVerified: z.ZodBoolean; mfaEnabled: z.ZodBoolean; lastLoginAt: z.ZodOptional; createdAt: z.ZodString; updatedAt: z.ZodString; firstname: z.ZodOptional>; lastname: z.ZodOptional>; fullname: z.ZodOptional>; companyname: z.ZodOptional>; phonenumber: z.ZodOptional>; language: z.ZodOptional>; currencyCode: z.ZodOptional>; address: z.ZodOptional>; address2: z.ZodOptional>; city: z.ZodOptional>; state: z.ZodOptional>; postcode: z.ZodOptional>; country: z.ZodOptional>; countryCode: z.ZodOptional>; phoneNumber: z.ZodOptional>; phoneCountryCode: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>; tokens: z.ZodObject<{ accessToken: z.ZodString; refreshToken: z.ZodString; expiresAt: z.ZodString; refreshExpiresAt: z.ZodString; tokenType: z.ZodLiteral<"Bearer">; }, z.core.$strip>; }, z.core.$strip>; export declare const signupResultSchema: z.ZodObject<{ user: z.ZodObject<{ id: z.ZodString; email: z.ZodString; role: z.ZodEnum<{ USER: "USER"; ADMIN: "ADMIN"; }>; emailVerified: z.ZodBoolean; mfaEnabled: z.ZodBoolean; lastLoginAt: z.ZodOptional; createdAt: z.ZodString; updatedAt: z.ZodString; firstname: z.ZodOptional>; lastname: z.ZodOptional>; fullname: z.ZodOptional>; companyname: z.ZodOptional>; phonenumber: z.ZodOptional>; language: z.ZodOptional>; currencyCode: z.ZodOptional>; address: z.ZodOptional>; address2: z.ZodOptional>; city: z.ZodOptional>; state: z.ZodOptional>; postcode: z.ZodOptional>; country: z.ZodOptional>; countryCode: z.ZodOptional>; phoneNumber: z.ZodOptional>; phoneCountryCode: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>; tokens: z.ZodObject<{ accessToken: z.ZodString; refreshToken: z.ZodString; expiresAt: z.ZodString; refreshExpiresAt: z.ZodString; tokenType: z.ZodLiteral<"Bearer">; }, z.core.$strip>; }, z.core.$strip>; export declare const passwordChangeResultSchema: z.ZodObject<{ user: z.ZodObject<{ id: z.ZodString; email: z.ZodString; role: z.ZodEnum<{ USER: "USER"; ADMIN: "ADMIN"; }>; emailVerified: z.ZodBoolean; mfaEnabled: z.ZodBoolean; lastLoginAt: z.ZodOptional; createdAt: z.ZodString; updatedAt: z.ZodString; firstname: z.ZodOptional>; lastname: z.ZodOptional>; fullname: z.ZodOptional>; companyname: z.ZodOptional>; phonenumber: z.ZodOptional>; language: z.ZodOptional>; currencyCode: z.ZodOptional>; address: z.ZodOptional>; address2: z.ZodOptional>; city: z.ZodOptional>; state: z.ZodOptional>; postcode: z.ZodOptional>; country: z.ZodOptional>; countryCode: z.ZodOptional>; phoneNumber: z.ZodOptional>; phoneCountryCode: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>; tokens: z.ZodObject<{ accessToken: z.ZodString; refreshToken: z.ZodString; expiresAt: z.ZodString; refreshExpiresAt: z.ZodString; tokenType: z.ZodLiteral<"Bearer">; }, z.core.$strip>; }, z.core.$strip>; export declare const ssoLinkResponseSchema: z.ZodObject<{ url: z.ZodURL; expiresAt: z.ZodString; }, z.core.$strip>; export declare const checkPasswordNeededResponseSchema: z.ZodObject<{ needsPasswordSet: z.ZodBoolean; userExists: z.ZodBoolean; email: z.ZodOptional; }, z.core.$strip>; export type LoginRequest = z.infer; export type SignupRequest = z.infer; export type PasswordResetRequest = z.infer; export type ResetPasswordRequest = z.infer; export type SetPasswordRequest = z.infer; export type ChangePasswordRequest = z.infer; export type LinkWhmcsRequest = z.infer; export type ValidateSignupRequest = z.infer; export type UpdateCustomerProfileRequest = z.infer; export type AccountStatusRequest = z.infer; export type SsoLinkRequest = z.infer; export type CheckPasswordNeededRequest = z.infer; export type RefreshTokenRequest = z.infer; export type AuthTokens = z.infer; export type AuthResponse = z.infer; export type SignupResult = z.infer; export type PasswordChangeResult = z.infer; export type SsoLinkResponse = z.infer; export type CheckPasswordNeededResponse = z.infer; export interface AuthError { code: "INVALID_CREDENTIALS" | "EMAIL_NOT_VERIFIED" | "ACCOUNT_LOCKED" | "MFA_REQUIRED" | "INVALID_TOKEN" | "TOKEN_EXPIRED" | "PASSWORD_TOO_WEAK" | "EMAIL_ALREADY_EXISTS" | "WHMCS_ACCOUNT_NOT_FOUND" | "SALESFORCE_ACCOUNT_NOT_FOUND" | "LINKING_FAILED"; message: string; details?: unknown; }