export interface UserDataExport {
  user: {
    id: string;
    email: string;
    name: string;
    phone: string | null;
    locale: string;
    timezone: string;
    createdAt: Date;
    updatedAt: Date;
    emailVerified: boolean;
  };
  families: Array<{
    familyId: string;
    familyName: string;
    role: string;
    permissions: any;
    joinedAt: Date;
  }>;
  children: Array<{
    id: string;
    name: string;
    birthDate: Date;
    gender: string | null;
    photoUrl: string | null;
    createdAt: Date;
  }>;
  activities: Array<{
    id: string;
    childId: string;
    type: string;
    startedAt: Date;
    endedAt: Date | null;
    metadata: Record<string, any>;
    notes: string | null;
    createdAt: Date;
  }>;
  aiConversations: Array<{
    id: string;
    title: string;
    messages: Array<{
      role: string;
      content: string;
      timestamp: Date;
      tokenCount?: number;
    }>;
    totalTokens: number;
    createdAt: Date;
  }>;
  photos: Array<{
    id: string;
    storageKey: string;
    thumbnailKey: string | null;
    originalFilename: string;
    caption: string | null;
    childId: string | null;
    activityId: string | null;
    takenAt: Date | null;
    uploadedAt: Date;
  }>;
  auditLogs: Array<{
    id: string;
    action: string;
    entityType: string;
    entityId: string | null;
    changes: {
      before?: Record<string, any>;
      after?: Record<string, any>;
    } | null;
    ipAddress: string | null;
    userAgent: string | null;
    createdAt: Date;
  }>;
  exportMetadata: {
    exportedAt: Date;
    exportedBy: string;
    format: 'JSON';
    dataVersion: string;
  };
}
