/** * GDPR Subject Access Export (Article 15). * * Gathers all data held on a specific contact across Neo4j stores: * Person → AccessGrants (via relationship) * Person → Conversations + Messages (via Person.sessionId → Conversation.sessionId) * Person → email-source KnowledgeDocuments (via Person.email matching the KD's FROM/TO/CC edges) * * Returns a self-contained JSON document suitable for handing to the data subject. */ interface ContactExportParams { nodeId?: string; email?: string; telephone?: string; accountId: string; } interface ExportedPerson { nodeId: string; properties: Record; } interface ExportedAccessGrant { nodeId: string; properties: Record; } interface ExportedMessage { nodeId: string; properties: Record; } interface ExportedConversation { nodeId: string; properties: Record; messages: ExportedMessage[]; } interface ExportedEmail { nodeId: string; properties: Record; } export interface ContactExportResult { person: ExportedPerson; accessGrants: ExportedAccessGrant[]; conversations: ExportedConversation[]; emails: ExportedEmail[]; summary: { accessGrantCount: number; conversationCount: number; messageCount: number; emailCount: number; }; } export declare function contactExport(params: ContactExportParams): Promise; export {}; //# sourceMappingURL=contact-export.d.ts.map