import type { Claim, SignedClaim } from '../types.js'; import type { NodeId, NodeIdEncoded } from '../../ids/types.js'; import type { SignedTokenEncoded } from '../../tokens/types.js'; import Token from '../../tokens/Token.js'; /** * Asserts that a node is a part of a network */ interface ClaimNetworkAccess extends Claim { typ: 'ClaimNetworkAccess'; iss: NodeIdEncoded; sub: NodeIdEncoded; network: string; signedClaimNetworkAuthorityEncoded: SignedTokenEncoded; isPrivate: boolean; } declare function assertClaimNetworkAccess(claimNetworkAccess: unknown): asserts claimNetworkAccess is ClaimNetworkAccess; declare function parseClaimNetworkAccess(claimNetworkAccessEncoded: unknown): ClaimNetworkAccess; declare function parseSignedClaimNetworkAccess(signedClaimNetworkAccessEncoded: unknown): SignedClaim; declare function verifyClaimNetworkAccess(networkNodeId: NodeId, subjectNodeId: NodeId, network: string, tokenClaimNetworkAccess: Token): void; export { assertClaimNetworkAccess, parseClaimNetworkAccess, parseSignedClaimNetworkAccess, verifyClaimNetworkAccess, }; export type { ClaimNetworkAccess };