350 lines
15 KiB
TypeScript

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<z.ZodString>;
phone: z.ZodString;
sfNumber: z.ZodString;
address: z.ZodOptional<z.ZodObject<{
address1: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
address2: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
city: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
state: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
postcode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
country: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
countryCode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
phoneNumber: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
phoneCountryCode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
}, z.core.$strip>>;
nationality: z.ZodOptional<z.ZodString>;
dateOfBirth: z.ZodOptional<z.ZodString>;
gender: z.ZodOptional<z.ZodEnum<{
male: "male";
female: "female";
other: "other";
}>>;
acceptTerms: z.ZodBoolean;
marketingConsent: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export declare const signupRequestSchema: z.ZodPipe<z.ZodObject<{
email: z.ZodString;
password: z.ZodString;
firstName: z.ZodString;
lastName: z.ZodString;
company: z.ZodOptional<z.ZodString>;
phone: z.ZodString;
sfNumber: z.ZodString;
address: z.ZodOptional<z.ZodObject<{
address1: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
address2: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
city: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
state: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
postcode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
country: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
countryCode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
phoneNumber: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
phoneCountryCode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
}, z.core.$strip>>;
nationality: z.ZodOptional<z.ZodString>;
dateOfBirth: z.ZodOptional<z.ZodString>;
gender: z.ZodOptional<z.ZodEnum<{
male: "male";
female: "female";
other: "other";
}>>;
acceptTerms: z.ZodBoolean;
marketingConsent: z.ZodOptional<z.ZodBoolean>;
}, 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<z.ZodString>;
lastname: z.ZodOptional<z.ZodString>;
companyname: z.ZodOptional<z.ZodString>;
phonenumber: z.ZodOptional<z.ZodString>;
address1: z.ZodOptional<z.ZodString>;
address2: z.ZodOptional<z.ZodString>;
city: z.ZodOptional<z.ZodString>;
state: z.ZodOptional<z.ZodString>;
postcode: z.ZodOptional<z.ZodString>;
country: z.ZodOptional<z.ZodString>;
language: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const updateProfileRequestSchema: z.ZodObject<{
firstname: z.ZodOptional<z.ZodString>;
lastname: z.ZodOptional<z.ZodString>;
companyname: z.ZodOptional<z.ZodString>;
phonenumber: z.ZodOptional<z.ZodString>;
address1: z.ZodOptional<z.ZodString>;
address2: z.ZodOptional<z.ZodString>;
city: z.ZodOptional<z.ZodString>;
state: z.ZodOptional<z.ZodString>;
postcode: z.ZodOptional<z.ZodString>;
country: z.ZodOptional<z.ZodString>;
language: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const updateAddressRequestSchema: z.ZodObject<{
firstname: z.ZodOptional<z.ZodString>;
lastname: z.ZodOptional<z.ZodString>;
companyname: z.ZodOptional<z.ZodString>;
phonenumber: z.ZodOptional<z.ZodString>;
address1: z.ZodOptional<z.ZodString>;
address2: z.ZodOptional<z.ZodString>;
city: z.ZodOptional<z.ZodString>;
state: z.ZodOptional<z.ZodString>;
postcode: z.ZodOptional<z.ZodString>;
country: z.ZodOptional<z.ZodString>;
language: z.ZodOptional<z.ZodString>;
}, 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.ZodString>;
}, z.core.$strip>;
export declare const checkPasswordNeededRequestSchema: z.ZodObject<{
email: z.ZodString;
}, z.core.$strip>;
export declare const refreshTokenRequestSchema: z.ZodObject<{
refreshToken: z.ZodOptional<z.ZodString>;
deviceId: z.ZodOptional<z.ZodString>;
}, 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<z.ZodString>;
createdAt: z.ZodString;
updatedAt: z.ZodString;
firstname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
lastname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
fullname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
companyname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
phonenumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
language: z.ZodOptional<z.ZodNullable<z.ZodString>>;
currencyCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
address: z.ZodOptional<z.ZodObject<{
address1: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
address2: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
city: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
state: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
postcode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
country: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
countryCode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
phoneNumber: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
phoneCountryCode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
}, 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<z.ZodString>;
createdAt: z.ZodString;
updatedAt: z.ZodString;
firstname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
lastname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
fullname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
companyname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
phonenumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
language: z.ZodOptional<z.ZodNullable<z.ZodString>>;
currencyCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
address: z.ZodOptional<z.ZodObject<{
address1: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
address2: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
city: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
state: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
postcode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
country: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
countryCode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
phoneNumber: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
phoneCountryCode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
}, 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<z.ZodString>;
createdAt: z.ZodString;
updatedAt: z.ZodString;
firstname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
lastname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
fullname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
companyname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
phonenumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
language: z.ZodOptional<z.ZodNullable<z.ZodString>>;
currencyCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
address: z.ZodOptional<z.ZodObject<{
address1: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
address2: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
city: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
state: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
postcode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
country: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
countryCode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
phoneNumber: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
phoneCountryCode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
}, 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.ZodEmail>;
}, z.core.$strip>;
export type LoginRequest = z.infer<typeof loginRequestSchema>;
export type SignupRequest = z.infer<typeof signupRequestSchema>;
export type PasswordResetRequest = z.infer<typeof passwordResetRequestSchema>;
export type ResetPasswordRequest = z.infer<typeof passwordResetSchema>;
export type SetPasswordRequest = z.infer<typeof setPasswordRequestSchema>;
export type ChangePasswordRequest = z.infer<typeof changePasswordRequestSchema>;
export type LinkWhmcsRequest = z.infer<typeof linkWhmcsRequestSchema>;
export type ValidateSignupRequest = z.infer<typeof validateSignupRequestSchema>;
export type UpdateCustomerProfileRequest = z.infer<typeof updateCustomerProfileRequestSchema>;
export type AccountStatusRequest = z.infer<typeof accountStatusRequestSchema>;
export type SsoLinkRequest = z.infer<typeof ssoLinkRequestSchema>;
export type CheckPasswordNeededRequest = z.infer<typeof checkPasswordNeededRequestSchema>;
export type RefreshTokenRequest = z.infer<typeof refreshTokenRequestSchema>;
export type AuthTokens = z.infer<typeof authTokensSchema>;
export type AuthResponse = z.infer<typeof authResponseSchema>;
export type SignupResult = z.infer<typeof signupResultSchema>;
export type PasswordChangeResult = z.infer<typeof passwordChangeResultSchema>;
export type SsoLinkResponse = z.infer<typeof ssoLinkResponseSchema>;
export type CheckPasswordNeededResponse = z.infer<typeof checkPasswordNeededResponseSchema>;
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;
}