import type { BaseRecord } from './BaseRecord'; import type { StorageService, BaseRecordConstructor, Query } from './StorageService'; import { AgentConfig } from '../agent/AgentConfig'; import { IndyWallet } from '../wallet/IndyWallet'; export declare class IndyStorageService implements StorageService { private wallet; private indy; private static DEFAULT_QUERY_OPTIONS; constructor(wallet: IndyWallet, agentConfig: AgentConfig); private transformToRecordTagValues; private transformFromRecordTagValues; /** * Transforms the search query into a wallet query compatible with indy WQL. * * The format used by AFJ is almost the same as the indy query, with the exception of * the encoding of values, however this is handled by the {@link IndyStorageService.transformToRecordTagValues} * method. */ private indyQueryFromSearchQuery; private recordToInstance; /** @inheritDoc */ save(record: T): Promise; /** @inheritDoc */ update(record: T): Promise; /** @inheritDoc */ delete(record: T): Promise; /** @inheritDoc */ getById(recordClass: BaseRecordConstructor, id: string): Promise; /** @inheritDoc */ getAll(recordClass: BaseRecordConstructor): Promise; /** @inheritDoc */ findByQuery(recordClass: BaseRecordConstructor, query: Query): Promise; private search; }