type CustomizeFunction = (raw: string, i: number) => void; type ConditionFunction = (allowed: () => boolean, msg: (msg: string | Error) => string | Error) => string | Error; interface CoreOptions { octets: number; octetLength: number; octetFormat: string; uppercase: boolean; lowercase: boolean; numbers: boolean; symbols: boolean; includeOnly: string | null; octetSeparator: string; timestamp: string | null; timestampFormat: string | null; template: string | null; prefix: string; suffix: string; instances: number; verbose: boolean; customize: CustomizeFunction | null; condition: ConditionFunction | null; } declare const map: { uuid: { octets: number; octetFormat: number[]; includeOnly: string; }; uuidv4: string; universal: string; "universal-id": string; nanoid: { octets: number; octetLength: number; uppercase: boolean; octetSeparator: string; }; "nano-id": string; nano: string; ksuid: { octets: number; octetLength: number; uppercase: boolean; octetSeparator: string; }; cuid: { octets: number; prefix: string; octetSeparator: string; }; ulid: { octets: number; octetLength: number; lowercase: boolean; uppercase: boolean; octetSeparator: string; }; snowflake: { octets: number; octetLength: number; includeOnly: string; octetSeparator: string; }; "snowflake-id": string; sha: { octets: number; octetSeparator: string; includeOnly: string; }; sha1: string; sha256: { octets: number; octetSeparator: string; includeOnly: string; }; sha512: { octets: number; octetLength: number; octetSeparator: string; includeOnly: string; }; md5: { octets: number; octetLength: number; octetSeparator: string; includeOnly: string; }; object: { octets: number; octetFormat: number[]; includeOnly: string; octetSeparator: string; }; objectid: string; "object-id": string; mongo: { octets: number; octetLength: number; includeOnly: string; octetSeparator: string; }; objectid24: string; objectid32: { octets: number; octetLength: number; includeOnly: string; octetSeparator: string; }; digits: { includeOnly: string; octets: number; octetLength: number; octetSeparator: string; }; numeric: string; alphanumeric: { uppercase: boolean; lowercase: boolean; numbers: boolean; octets: number; octetLength: number; octetSeparator: string; }; alpha: { uppercase: boolean; lowercase: boolean; numbers: boolean; octets: number; octetLength: number; octetSeparator: string; }; "ts-id": { octets: number; octetLength: number; timestamp: string; }; "timestamp-id": string; "epoch-id": { octets: number; octetLength: number; timestamp: string; timestampFormat: string; }; "jwt-id": { octets: number; octetLength: number; octetSeparator: string; includeOnly: string; }; "bcrypt-id": { octets: number; octetLength: number; includeOnly: string; octetSeparator: string; }; "argon-id": { octets: number; octetLength: number; includeOnly: string; octetSeparator: string; }; "host-id": { octets: number; octetLength: number; includeOnly: string; }; "machine-id": string; "session-id": { uppercase: boolean; octets: number; octetLength: number; timestamp: string; }; short: { octets: number; octetLength: number; octetSeparator: string; }; mini: { octets: number; octetLength: number; octetSeparator: string; }; ghost: { octets: number; octetLength: number; octetSeparator: string; }; phantom: { octets: number; octetLength: number; octetSeparator: string; }; ninja: { octets: number; octetLength: number; prefix: string; octetSeparator: string; }; shortuuid: { octets: number; octetFormat: number[]; includeOnly: string; }; "short-uuid": string; "short-uuidv4": string; hex: { includeOnly: string; }; hexadecimal: string; "short-ucid": { octets: number; }; shortucid: string; snake: { octets: number; includeOnly: string; octetSeparator: string; }; "snake-case": string; separatorless: { octets: number; octetLength: number; }; "separator-less": string; sepless: string; zulu: { octets: number; octetLength: number; timestamp: string; timestampFormat: string; }; slug: { octets: number; octetLength: number; octetSeparator: string; }; dna: { octets: number; octetLength: number; uppercase: boolean; lowercase: boolean; }; leet: { octets: number; octetLength: number; includeOnly: string; }; caps: { uppercase: boolean; lowercase: boolean; octets: number; octetLength: number; }; capsid: string; "caps-id": string; wordy: { octets: number; octetLength: number; lowercase: boolean; numbers: boolean; octetSeparator: string; }; }; /** * Adjusts multiple options based on a given format string. * @param {string} format * @param {Object} [options] */ declare function formatOpts(format: string, options?: CoreOptions): string | void | (string | undefined)[] | { octets: number; octetLength: number; octetFormat: string; uppercase: boolean; lowercase: boolean; numbers: boolean; symbols: boolean; includeOnly: string | null; octetSeparator: string; timestamp: string | null; timestampFormat: string | null; template: string | null; prefix: string; suffix: string; instances: number; verbose: boolean; customize: undefined | null; condition: undefined | null; ucid: string; } | { octets: number; octetLength: number; octetFormat: string; uppercase: boolean; lowercase: boolean; numbers: boolean; symbols: boolean; includeOnly: string | null; octetSeparator: string; timestamp: string | null; timestampFormat: string | null; template: string | null; prefix: string; suffix: string; instances: number; verbose: boolean; customize: undefined | null; condition: undefined | null; ucid: string; }[]; /** * Generate IDs based on predefined formats. * @param {string} format * @returns {string} */ declare function ucidFromFormat(format: string): string | void | (string | undefined)[] | { octets: number; octetLength: number; octetFormat: string; uppercase: boolean; lowercase: boolean; numbers: boolean; symbols: boolean; includeOnly: string | null; octetSeparator: string; timestamp: string | null; timestampFormat: string | null; template: string | null; prefix: string; suffix: string; instances: number; verbose: boolean; customize: undefined | null; condition: undefined | null; ucid: string; } | { octets: number; octetLength: number; octetFormat: string; uppercase: boolean; lowercase: boolean; numbers: boolean; symbols: boolean; includeOnly: string | null; octetSeparator: string; timestamp: string | null; timestampFormat: string | null; template: string | null; prefix: string; suffix: string; instances: number; verbose: boolean; customize: undefined | null; condition: undefined | null; ucid: string; }[]; export { ucidFromFormat as default, formatOpts, map, ucidFromFormat };