import type { AgentContext } from '@credo-ts/core'; import type { PolicyMode } from '../models'; import { EventEmitter, Repository, StorageService } from '@credo-ts/core'; import { VaultRecord } from './VaultRecord'; export declare class VaultRepository extends Repository { constructor(storageService: StorageService, eventEmitter: EventEmitter); /** * Find vault by vault ID */ findByVaultId(agentContext: AgentContext, vaultId: string): Promise; /** * Get vault by vault ID (throws if not found) */ getByVaultId(agentContext: AgentContext, vaultId: string): Promise; /** * Find vault by document ID */ findByDocId(agentContext: AgentContext, docId: string): Promise; /** * Find all vaults owned by a specific DID */ findByOwner(agentContext: AgentContext, ownerDid: string): Promise; /** * Find all vaults with a specific policy mode */ findByPolicyMode(agentContext: AgentContext, policyMode: PolicyMode): Promise; /** * Find all vaults using a specific suite */ findBySuite(agentContext: AgentContext, suite: string): Promise; /** * Delete vault by vault ID */ deleteByVaultId(agentContext: AgentContext, vaultId: string): Promise; }