import type { TagsBase } from '../../../storage/BaseRecord'; import type { HandshakeProtocol } from '../models'; import { BaseRecord } from '../../../storage/BaseRecord'; import { DidExchangeRole, DidExchangeState } from '../models'; export interface ConnectionRecordProps { id?: string; createdAt?: Date; did?: string; theirDid?: string; theirLabel?: string; state: DidExchangeState; role: DidExchangeRole; alias?: string; autoAcceptConnection?: boolean; threadId?: string; tags?: CustomConnectionTags; imageUrl?: string; mediatorId?: string; errorMessage?: string; protocol?: HandshakeProtocol; outOfBandId?: string; invitationDid?: string; } export declare type CustomConnectionTags = TagsBase; export declare type DefaultConnectionTags = { state: DidExchangeState; role: DidExchangeRole; threadId?: string; mediatorId?: string; did?: string; theirDid?: string; outOfBandId?: string; invitationDid?: string; }; export declare class ConnectionRecord extends BaseRecord implements ConnectionRecordProps { state: DidExchangeState; role: DidExchangeRole; did?: string; theirDid?: string; theirLabel?: string; alias?: string; autoAcceptConnection?: boolean; imageUrl?: string; threadId?: string; mediatorId?: string; errorMessage?: string; protocol?: HandshakeProtocol; outOfBandId?: string; invitationDid?: string; static readonly type = "ConnectionRecord"; readonly type = "ConnectionRecord"; constructor(props: ConnectionRecordProps); getTags(): { state: DidExchangeState; role: DidExchangeRole; threadId: string | undefined; mediatorId: string | undefined; did: string | undefined; theirDid: string | undefined; outOfBandId: string | undefined; invitationDid: string | undefined; }; get isRequester(): boolean; get rfc0160State(): import("../models").ConnectionState; get isReady(): boolean; assertReady(): void; assertState(expectedStates: DidExchangeState | DidExchangeState[]): void; assertRole(expectedRole: DidExchangeRole): void; }