import { SchemaRule } from "../../types/rule-types.mjs"; //#region ../@warlock.js/seal/src/rules/string/id-formats.d.ts type UUIDVersion = 1 | 3 | 4 | 5 | 6 | 7; /** * UUID rule — value must be a valid UUID. Optionally restrict to a specific version. * * @example * v.string().uuid() // any RFC 4122 UUID * v.string().uuid(4) // only v4 (random) * v.string().uuid(7) // only v7 (timestamp-ordered) */ declare const uuidRule: SchemaRule<{ version?: UUIDVersion; }>; /** * CUID rule — value must be a valid CUID. * * Defaults to CUID2 (24 chars, lowercase, starts with letter — see * https://github.com/paralleldrive/cuid2). Pass `{ version: 1 }` for legacy * CUID1 format (starts with "c", ≥25 chars). * * @example * v.string().cuid() // CUID2 * v.string().cuid({ version: 1 }) // legacy CUID1 */ declare const cuidRule: SchemaRule<{ version?: 1 | 2; }>; /** * ULID rule — value must be a valid ULID (26 chars, Crockford base32). * * Crockford base32 excludes the letters I, L, O, U to avoid ambiguity. * * @example * v.string().ulid() */ declare const ulidRule: SchemaRule; /** * nanoid rule — value must be a valid nanoid string. * * Default length is 21 (standard nanoid). URL-safe alphabet: * A–Z, a–z, 0–9, `_`, `-`. * * @example * v.string().nanoid() // 21 chars (default) * v.string().nanoid(10) // 10 chars */ declare const nanoidRule: SchemaRule<{ length?: number; }>; //#endregion export { UUIDVersion, cuidRule, nanoidRule, ulidRule, uuidRule }; //# sourceMappingURL=id-formats.d.mts.map