import type { TagsBase } from '../../../storage/BaseRecord'; import type { AutoAcceptProof } from '../ProofAutoAcceptType'; import type { ProofState } from '../ProofState'; import { BaseRecord } from '../../../storage/BaseRecord'; import { ProposePresentationMessage, RequestPresentationMessage, PresentationMessage } from '../messages'; export interface ProofRecordProps { id?: string; createdAt?: Date; isVerified?: boolean; state: ProofState; connectionId?: string; threadId: string; presentationId?: string; tags?: CustomProofTags; autoAcceptProof?: AutoAcceptProof; errorMessage?: string; proposalMessage?: ProposePresentationMessage; requestMessage?: RequestPresentationMessage; presentationMessage?: PresentationMessage; } export declare type CustomProofTags = TagsBase; export declare type DefaultProofTags = { threadId: string; connectionId?: string; state: ProofState; }; export declare class ProofRecord extends BaseRecord { connectionId?: string; threadId: string; isVerified?: boolean; presentationId?: string; state: ProofState; autoAcceptProof?: AutoAcceptProof; errorMessage?: string; proposalMessage?: ProposePresentationMessage; requestMessage?: RequestPresentationMessage; presentationMessage?: PresentationMessage; static readonly type = "ProofRecord"; readonly type = "ProofRecord"; constructor(props: ProofRecordProps); getTags(): { threadId: string; connectionId: string | undefined; state: ProofState; }; assertState(expectedStates: ProofState | ProofState[]): void; assertConnection(currentConnectionId: string): void; }