import { Delegation } from '../embed/Delegation.mjs'; import { SecurityMetadata } from '../embed/SecurityMetadata.mjs'; import { Versionable } from './Versionable.mjs'; /** * * * Interface for entities that hold encryption metadata used for end-to-end encryption and access * control. * This includes delegation keys, encrypted foreign keys, and security metadata. */ export interface HasEncryptionMetadata extends Versionable { secretForeignKeys: Array; cryptedForeignKeys: { [key: string]: Array; }; delegations: { [key: string]: Array; }; encryptionKeys: { [key: string]: Array; }; securityMetadata: SecurityMetadata | undefined; }