import type { PermissionId, CertId, CertIdEncoded, NodeId, NodeIdString, NodeIdEncoded, VaultId, VaultIdEncoded, TaskId, TaskIdEncoded, ClaimId, ClaimIdEncoded, ProviderId, IdentityId, ProviderIdentityId, ProviderIdentityIdEncoded, GestaltId, GestaltIdEncoded, GestaltLinkId, NotificationId, NotificationIdEncoded, AuditEventId, AuditEventIdEncoded } from './types.js'; declare function createPermIdGenerator(): () => PermissionId; declare function createAuditEventIdGenerator(lastAuditEventId?: AuditEventId): () => AuditEventId; /** * Encodes `AuditEventId` to `AuditEventIdEncoded` */ declare function encodeAuditEventId(auditEventId: AuditEventId): AuditEventIdEncoded; /** * Decodes `AuditEventIdEncoded` to `AuditEventId` */ declare function decodeAuditEventId(auditEventIdEncoded: unknown): AuditEventId | undefined; /** * Generates an auditId from an epoch timestamp. * * @param epoch * @param randomSource */ declare const generateAuditEventIdFromTimestamp: (epoch: number, randomSource?: (size: number) => Uint8Array) => AuditEventId; /** * Creates a NodeId generator. * This does not use `IdRandom` because it is not a UUID4. * Instead this just generates random 32 bytes. */ declare function createNodeIdGenerator(): () => NodeId; declare function isNodeId(nodeId: any): nodeId is NodeId; declare function assertNodeId(nodeId: unknown): asserts nodeId is NodeId; declare function generateNodeId(nodeId: NodeId): NodeIdEncoded; declare function parseNodeId(nodeIdEncoded: unknown): NodeId; /** * Encodes the NodeId as a `base32hex` string */ declare function encodeNodeId(nodeId: NodeId): NodeIdEncoded; /** * Decodes an encoded NodeId string into a NodeId */ declare function decodeNodeId(nodeIdEncoded: unknown): NodeId | undefined; declare function encodeNodeIdString(nodeId: NodeId): NodeIdString; declare function decodeNodeIdString(nodeIdString: unknown): NodeId | undefined; /** * Generates CertId */ declare function createCertIdGenerator(lastCertId?: CertId): () => CertId; /** * Encodes `CertId` to `CertIdEncoded` */ declare function encodeCertId(certId: CertId): CertIdEncoded; /** * Decodes `CertIdEncoded` to `CertId` */ declare function decodeCertId(certIdEncoded: unknown): CertId | undefined; declare function parseVaultId(data: any): VaultId; declare function createVaultIdGenerator(): () => VaultId; declare function encodeVaultId(vaultId: VaultId): VaultIdEncoded; declare function decodeVaultId(vaultIdEncoded: unknown): VaultId | undefined; /** * Generates TaskId * TaskIds are lexicographically sortable 128 bit IDs * They are strictly monotonic and unique with respect to the `nodeId` * When the `NodeId` changes, make sure to regenerate this generator */ declare function createTaskIdGenerator(lastTaskId?: TaskId): () => TaskId; /** * Encodes the TaskId as a `base32hex` string */ declare function encodeTaskId(taskId: TaskId): TaskIdEncoded; /** * Decodes an encoded TaskId string into a TaskId */ declare function decodeTaskId(taskIdEncoded: unknown): TaskId | undefined; declare function parseClaimId(data: any): ClaimId; /** * Generator for `ClaimId` * Make sure the `nodeId` is set to this node's own `NodeId` */ declare function createClaimIdGenerator(nodeId: NodeId, lastClaimId?: ClaimId): () => ClaimId; declare function encodeClaimId(claimId: ClaimId): ClaimIdEncoded; declare function decodeClaimId(claimIdEncoded: unknown): ClaimId | undefined; declare function parseProviderId(data: any): ProviderId; declare function parseIdentityId(data: any): IdentityId; declare function encodeProviderIdentityId(providerIdentityId: ProviderIdentityId): ProviderIdentityIdEncoded; declare function decodeProviderIdentityId(providerIdentityIdEncoded: unknown): ProviderIdentityId | undefined; declare function parseGestaltId(data: any): GestaltId; declare function parseGestaltIdentityId(data: any): ['identity', ProviderIdentityId]; declare function encodeGestaltId(gestaltId: GestaltId): GestaltIdEncoded; declare function encodeGestaltNodeId(gestaltNodeId: ['node', NodeId]): GestaltIdEncoded; declare function encodeGestaltIdentityId(gestaltIdentityId: ['identity', ProviderIdentityId]): GestaltIdEncoded; declare function decodeGestaltId(gestaltIdEncoded: unknown): GestaltId | undefined; declare function decodeGestaltNodeId(gestaltNodeIdEncoded: unknown): ['node', NodeId] | undefined; declare function decodeGestaltIdentityId(gestaltIdentityId: unknown): ['identity', ProviderIdentityId] | undefined; declare function createGestaltLinkIdGenerator(): () => GestaltLinkId; declare function createNotificationIdGenerator(lastId?: NotificationId): () => NotificationId; declare function generateNotificationId(notificationId: NotificationId): NotificationIdEncoded; declare function parseNotificationId(notificationIdEncoded: unknown): NotificationId; declare function encodeNotificationId(notificationId: NotificationId): NotificationIdEncoded; declare function decodeNotificationId(notificationIdEncoded: unknown): NotificationId | undefined; /** * Generates a NotificationId from an epoch timestamp. * * @param epoch * @param randomSource */ declare const generateNotificationIdFromTimestamp: (epoch: number, randomSource?: (size: number) => Uint8Array) => NotificationId; export { createPermIdGenerator, createAuditEventIdGenerator, generateAuditEventIdFromTimestamp, encodeAuditEventId, decodeAuditEventId, createNodeIdGenerator, isNodeId, assertNodeId, generateNodeId, parseNodeId, encodeNodeId, decodeNodeId, encodeNodeIdString, decodeNodeIdString, createCertIdGenerator, encodeCertId, decodeCertId, createVaultIdGenerator, parseVaultId, encodeVaultId, decodeVaultId, createTaskIdGenerator, encodeTaskId, decodeTaskId, parseClaimId, createClaimIdGenerator, encodeClaimId, decodeClaimId, parseProviderId, parseIdentityId, encodeProviderIdentityId, decodeProviderIdentityId, parseGestaltId, parseGestaltIdentityId, encodeGestaltId, encodeGestaltNodeId, encodeGestaltIdentityId, decodeGestaltId, decodeGestaltNodeId, decodeGestaltIdentityId, createGestaltLinkIdGenerator, createNotificationIdGenerator, generateNotificationId, parseNotificationId, encodeNotificationId, decodeNotificationId, generateNotificationIdFromTimestamp, }; export type * from './types.js';