import type { Tagged } from "type-fest"; /** * An ArrayBuffer known to be 16 bytes, for holding UUID data. */ export type UUIDBuffer = Tagged; export declare function makeUUIDBuffer(): UUIDBuffer; export type UUID = Tagged; export type UUIDV4 = Tagged; export type UUIDV8 = Tagged; export declare function isUUIDV8(id: string): id is UUIDV8; /** * MODIFIES THE GIVEN BUFFER IN PLACE. * * Adds the version and variant bits at the place that the uuid spec mandates. * In the process, it shifts subsequent bits to the right, which means that the * last 6 bits of the buffer are discarded (so these should be data you don't * care about). */ export declare function interposeVersionAndVariant(buf: UUIDBuffer): UUIDBuffer; export declare function assertUnreachable(it: never, errorMessage?: string): never; /** * Creates a type representing a string where some set of allowed characters * repeat N times. Requires full padding to make all the strings N chars long. */ export type RepeatedString = Arr["length"] extends Len ? ArrayJoin : RepeatedString; type ArrayJoin = Arr extends [ infer First extends string, ...infer Rest extends string[] ] ? `${First}${ArrayJoin}` : ""; export {}; //# sourceMappingURL=utils.d.ts.map