import type { DsrFormat, UserDataBundle } from "./dsr-types"; /** * GDPR Art. 15 (right of access) + Art. 20 (right to data portability). * * Implementations walk all Payload collections with `custom.subject` linkage, * segment rows by role (self/owner vs reference), and filter to fields marked * `exportable: true` in `custom.pii`. */ export interface IDataExport { /** * Export all personal data held for the given subject. * * @param subjectId - The subject's canonical ID (e.g. users.id). * @param format - "json" for a plain JSON bundle; "json-ld" attaches the * @context from `contexts/user-data.jsonld`. */ exportSubjectData( subjectId: string, format: DsrFormat, ): Promise; }