import { ZodIssueBase, ZodIssueCode, ZodIssueOptionalMessage } from 'zod'; export { ZodIssueCode } from 'zod'; type DateStringFormat = 'date' | 'date-time'; type DateStringDirection = 'past' | 'future'; type DateStringDayType = 'weekDay' | 'weekend'; interface ZodInvalidDateStringIssue extends ZodIssueBase { code: typeof ZodIssueCode.custom; params: { isNestJsZod: true; code: 'invalid_date_string'; }; } interface ZodInvalidDateStringFormatIssue extends ZodIssueBase { code: typeof ZodIssueCode.custom; params: { isNestJsZod: true; code: 'invalid_date_string_format'; expected: DateStringFormat; }; } interface ZodInvalidDateStringDirectionIssue extends ZodIssueBase { code: typeof ZodIssueCode.custom; params: { isNestJsZod: true; code: 'invalid_date_string_direction'; expected: DateStringDirection; }; } interface ZodInvalidDateStringDayIssue extends ZodIssueBase { code: typeof ZodIssueCode.custom; params: { isNestJsZod: true; code: 'invalid_date_string_day'; expected: DateStringDayType; }; } type ZodAnyDateStringIssue = ZodInvalidDateStringIssue | ZodInvalidDateStringFormatIssue | ZodInvalidDateStringDirectionIssue | ZodInvalidDateStringDayIssue; type ZodMinMaxValueType = 'array' | 'string' | 'number' | 'bigint' | 'set' | 'date_string_year' | 'date' | 'password'; interface ZodTooSmallIssue extends ZodIssueBase { code: typeof ZodIssueCode.too_small; minimum: number | bigint; inclusive: boolean; type: ZodMinMaxValueType; } interface ZodTooBigIssue extends ZodIssueBase { code: typeof ZodIssueCode.too_big; maximum: number | bigint; inclusive: boolean; type: ZodMinMaxValueType; } interface ZodInvalidPasswordNoDigit extends ZodIssueBase { code: typeof ZodIssueCode.custom; params: { isNestJsZod: true; code: 'invalid_password_no_digit'; }; } interface ZodInvalidPasswordNoLowercase extends ZodIssueBase { code: typeof ZodIssueCode.custom; params: { isNestJsZod: true; code: 'invalid_password_no_lowercase'; }; } interface ZodInvalidPasswordNoUppercase extends ZodIssueBase { code: typeof ZodIssueCode.custom; params: { isNestJsZod: true; code: 'invalid_password_no_uppercase'; }; } interface ZodInvalidPasswordNoSpecial extends ZodIssueBase { code: typeof ZodIssueCode.custom; params: { isNestJsZod: true; code: 'invalid_password_no_special'; }; } type ZodAnyPasswordIssue = ZodInvalidPasswordNoDigit | ZodInvalidPasswordNoLowercase | ZodInvalidPasswordNoUppercase | ZodInvalidPasswordNoSpecial; type NestJsZodIssue = ZodAnyDateStringIssue | ZodAnyPasswordIssue; type ZodIssueOptionalMessageExtended = ZodIssueOptionalMessage | NestJsZodIssue | ZodTooSmallIssue | ZodTooBigIssue; type ZodIssueExtended = ZodIssueOptionalMessageExtended & { message: string; }; declare function isNestJsZodIssue(issue: ZodIssueOptionalMessageExtended): issue is NestJsZodIssue; export { NestJsZodIssue, ZodIssueExtended as ZodIssue, isNestJsZodIssue };