import type { ConnectionMetadata } from './ConnectionMetadataTypes'; import type { TagsBase } from '../../../storage/BaseRecord'; import type { HandshakeProtocol } from '../models'; import type { ConnectionType } from '../models/ConnectionType'; 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; connectionTypes?: Array; } export type CustomConnectionTags = TagsBase; export type DefaultConnectionTags = { state: DidExchangeState; role: DidExchangeRole; threadId?: string; mediatorId?: string; did?: string; theirDid?: string; outOfBandId?: string; invitationDid?: string; connectionTypes?: Array; }; 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; connectionTypes: string[]; static readonly type = "ConnectionRecord"; readonly type = "ConnectionRecord"; constructor(props: ConnectionRecordProps); getTags(): DefaultConnectionTags & CustomConnectionTags; get isRequester(): boolean; get rfc0160State(): import("../models").ConnectionState; get isReady(): boolean; assertReady(): void; assertState(expectedStates: DidExchangeState | DidExchangeState[]): void; assertRole(expectedRole: DidExchangeRole): void; }