import type { TagsBase } from '../../../storage/BaseRecord'; import type { OutOfBandRole } from '../domain/OutOfBandRole'; import type { OutOfBandState } from '../domain/OutOfBandState'; import { BaseRecord } from '../../../storage/BaseRecord'; import { OutOfBandInvitation } from '../messages'; export interface OutOfBandRecordProps { id?: string; createdAt?: Date; updatedAt?: Date; tags?: TagsBase; outOfBandInvitation: OutOfBandInvitation; role: OutOfBandRole; state: OutOfBandState; autoAcceptConnection?: boolean; reusable?: boolean; mediatorId?: string; reuseConnectionId?: string; } declare type DefaultOutOfBandRecordTags = { role: OutOfBandRole; state: OutOfBandState; invitationId: string; recipientKeyFingerprints: string[]; }; export declare class OutOfBandRecord extends BaseRecord { outOfBandInvitation: OutOfBandInvitation; role: OutOfBandRole; state: OutOfBandState; reusable: boolean; autoAcceptConnection?: boolean; mediatorId?: string; reuseConnectionId?: string; static readonly type = "OutOfBandRecord"; readonly type = "OutOfBandRecord"; constructor(props: OutOfBandRecordProps); getTags(): { role: OutOfBandRole; state: OutOfBandState; invitationId: string; recipientKeyFingerprints: string[]; }; assertRole(expectedRole: OutOfBandRole): void; assertState(expectedStates: OutOfBandState | OutOfBandState[]): void; } export {};