import { type Brand, type NonEmptyString, type TypeEq, type UintRangeInclusive } from 'ts-type-forge'; import { type Type } from '../../../type.mjs'; export type UuidVersion = UintRangeInclusive<1, 8>; export type UuidBaseString = `${string}-${string}-${V}${string}-${string}-${string}` | '00000000-0000-0000-0000-000000000000' | 'ffffffff-ffff-ffff-ffff-ffffffffffff'; export type Uuid = Brand; export type Uuid4 = Brand & NonEmptyString, 'Uuid'>; export type Uuid6 = Brand & NonEmptyString, 'Uuid'>; export type Uuid7 = Brand & NonEmptyString, 'Uuid'>; /** * @link https://github.com/validatorjs/validator.js/tree/v13.1.17?tab=readme-ov-file#validators */ export declare const uuid: (options?: UuidValidatorOption) => Type>; type UuidVersionAdditionalOption = 'nil' | 'max' | 'all' | 'loose'; type UuidOf = TypeEq extends true ? Uuid4 : TypeEq extends true ? Uuid6 : TypeEq extends true ? Uuid7 : Uuid; export declare const uuidV4: (defaultValue?: string) => Type; export declare const uuidV6: (defaultValue?: string) => Type; export declare const uuidV7: (defaultValue?: string) => Type; type UuidValidatorOption = Partial>; export {}; //# sourceMappingURL=uuid.d.mts.map