import type { DependencyManager, FeatureRegistry, Module } from '@credo-ts/core'; import type { S3StorageConfig } from './storage/VaultStorageConfig'; import { VaultsApi } from './VaultsApi'; export interface VaultsModuleConfig { /** S3 storage configuration (kept for legacy direct-S3 backends). */ storage?: S3StorageConfig; /** Inline threshold in bytes for legacy passphrase vaults. */ inlineThreshold?: number; /** Whether to advertise the `host` role on discover-features. */ hostMode?: boolean; } /** * Vaults Module — spec-conformant didcomm.org/vaults/1.0 client. * * Replaces the pre-spec implementation: 5 spec messages * (propose / offer / grant-access / seal / tombstone) plus JWE * encryption and ZCAP-LD authorization. The data plane runs over the * EDV HTTP API; no DIDComm bytes carry blob content. * * @example * ```typescript * import { Agent } from '@credo-ts/core' * import { VaultsModule } from '@ajna-inc/vaults' * * const agent = new Agent({ * config: { label: 'My Agent' }, * modules: { vaults: new VaultsModule() } * }) * await agent.initialize() * * await agent.modules.vaults.sendPropose(connectionId, { * purpose: 'workflow:pdf-signing#42', * participants: [aliceDid, bobDid], * constraints: { ttl_seconds: 86400 }, * }) * ``` */ export declare class VaultsModule implements Module { readonly api: typeof VaultsApi; private config?; constructor(config?: VaultsModuleConfig); getConfig(): VaultsModuleConfig | undefined; register(dependencyManager: DependencyManager, featureRegistry: FeatureRegistry): void; }