import type { IndySdk } from '../types'; import type { FileSystem, Logger } from '@aries-framework/core'; import type { LedgerReadReplyResponse, LedgerRequest, LedgerWriteReplyResponse } from 'indy-sdk'; import type { Subject } from 'rxjs'; export interface TransactionAuthorAgreement { version: `${number}.${number}` | `${number}`; acceptanceMechanism: string; } export interface IndySdkPoolConfig { /** * Optional id that influences the pool config that is created by the indy-sdk. * Uses the indyNamespace as the pool identifier if not provided. */ id?: string; genesisPath?: string; genesisTransactions?: string; isProduction: boolean; indyNamespace: string; transactionAuthorAgreement?: TransactionAuthorAgreement; connectOnStartup?: boolean; } export declare class IndySdkPool { private indySdk; private logger; private fileSystem; private poolConfig; private _poolHandle?; private poolConnected?; authorAgreement?: AuthorAgreement | null; constructor(poolConfig: IndySdkPoolConfig, indySdk: IndySdk, logger: Logger, stop$: Subject, fileSystem: FileSystem); get didIndyNamespace(): string; get id(): string | undefined; get config(): IndySdkPoolConfig; close(): Promise; delete(): Promise; connect(): Promise; private connectToLedger; private submitRequest; submitReadRequest(request: LedgerRequest): Promise; submitWriteRequest(request: LedgerRequest): Promise; private getPoolHandle; private getGenesisPath; } export interface AuthorAgreement { digest: string; version: string; text: string; ratification_ts: number; acceptanceMechanisms: AcceptanceMechanisms; } export interface AcceptanceMechanisms { aml: Record; amlContext: string; version: string; }