import type { Call } from "./function-registry.js"; import type { LixEngine } from "../boot.js"; /** * Sync variant of {@link uuidV7}. See {@link uuidV7} for behavior and examples. * * @remarks * - Accepts `{ engine }` (or `{ lix }`) and runs next to SQLite. * - Intended for engine/router and UDFs; app code should use {@link uuidV7}. * * @see uuidV7 */ export declare function uuidV7Sync(args: { engine: Pick; }): string; /** * Returns a UUID v7. * * In normal mode, returns a standard time-based UUID v7. In deterministic mode, * returns UUIDs with a fixed timestamp prefix and sequential counter suffix. * * UUID v7 provides better database performance than {@link nanoId} due to time-based sorting, * but produces longer IDs that are less suitable for URLs. * * - Normal mode: standard UUID v7 with current timestamp. * - Deterministic mode: fixed prefix "01920000-0000-7000-8800-" + 12-digit hex counter. * - Counter state shared with {@link nextSequenceNumberSync}. * - Choose UUID v7 for time-sortable database keys; {@link nanoId} for URL-friendly short IDs. * * @example Normal mode – random UUID v7 * ```ts * const lix = await openLix(); * const id = await uuidV7({ lix }) // "01920000-5432-7654-8abc-def012345678" * ``` * * @example Deterministic mode – sequential UUIDs * ```ts * const lix = await openLix({ * keyValues: [{ key: "lix_deterministic_mode", value: { enabled: true }, lixcol_version_id: "global" }] * }); * await uuidV7({ lix }) // "01920000-0000-7000-8000-000000000000" * await uuidV7({ lix }) // "01920000-0000-7000-8000-000000000001" * await uuidV7({ lix }) // "01920000-0000-7000-8000-000000000002" * ``` */ export declare function uuidV7(args: { lix: { call: Call; }; }): Promise; //# sourceMappingURL=uuid-v7.d.ts.map