import { Hex } from 'viem'; export type NsmBinding = { request(cborRequest: Uint8Array): Uint8Array; }; export declare class Nsm { private readonly nsm; constructor(nsm: NsmBinding); getAttestation(userdata?: Uint8Array): Uint8Array; getRandom(numBytes: number): Uint8Array; private communicate; } export type DescribePcrRequest = { method: 'describe-pcr'; params: { index: number; }; response: { lock: boolean; data: Uint8Array; }; }; export type ExtendPcrRequest = { method: 'extend-pcr'; params: { data: Uint8Array; }; response: { data: Uint8Array; }; }; export type LockPcrRequest = { method: 'lock-pcr'; params: { index: number; }; response: void; }; export type LockPcrsRequest = { method: 'lock-pcrs'; params: { range: number; }; response: void; }; export type DescrbeNsmRequest = { method: 'describe-nsm'; params: void; response: { version: { major: number; minor: number; patch: number; }; moduleId: string; maxPcrs: number; lockedPcrs: Set; digest: 'sha256' | 'sha384' | 'sha512'; }; }; export type AttestationRequest = { method: 'get-attestation'; params: Partial<{ userdata: Hex; }>; response: { document: Hex; }; }; export type RandomBytesRequest = { method: 'get-random'; params: { numBytes: number; }; response: { random: Hex; }; }; //# sourceMappingURL=nsm.d.ts.map