export type ProofStage = 'local' | 'anchored' | 'confirmed'; export declare const STAGE_METADATA: Record; export interface LocalProofData { stage: 'local'; attestationId: string; agentId: string; localSignature: string; publicKey: string; signedAt: string; payload: Record; } export interface AnchoredProofData extends Omit { stage: 'anchored'; merkleRoot: string; serverAttestationId: string; anchoredAt: string; } export interface ConfirmedProofData extends Omit { stage: 'confirmed'; hcsTopicId: string; hcsSequenceNumber: number; hcsTimestamp: string; hashScanUrl: string; } export type AnyProofData = LocalProofData | AnchoredProofData | ConfirmedProofData; export type UpgradeCallback = (proof: T) => void; export declare class LiveProof { private _data; private _listeners; private _resolvers; constructor(initialData: LocalProofData); get stage(): ProofStage; get attestationId(): string; get agentId(): string; get data(): Readonly; get isConfirmed(): boolean; get hashScanUrl(): string | undefined; onUpgrade(stage: any, cb: UpgradeCallback): this; waitFor(stage: ProofStage, timeoutMs?: number): Promise; toJSON(): AnyProofData; _upgrade(newData: AnchoredProofData | ConfirmedProofData): void; private _isPastStage; } //# sourceMappingURL=proof-types.d.ts.map