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<LixEngine, "executeSync" | "hooks" | "runtimeCacheRef">;
}): 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<string>;
//# sourceMappingURL=uuid-v7.d.ts.map