/**
 * @ai-summary User export types and constants
 * @ai-context Types for user data export feature
 */

import * as fs from 'fs';

export interface UserExportManifest {
  version: string;
  createdAt: string;
  applicationVersion: string;
  userId: string;
  contents: {
    vehicles: { count: number; withImages: number };
    fuelLogs: { count: number };
    documents: { count: number; withFiles: number };
    maintenanceRecords: { count: number };
    maintenanceSchedules: { count: number };
  };
  files: {
    vehicleImages: number;
    documentFiles: number;
    totalSizeBytes: number;
  };
  warnings: string[];
}

export interface UserExportResult {
  stream: fs.ReadStream;
  filename: string;
  size: number;
}

export const USER_EXPORT_CONFIG = {
  tempPath: '/tmp/user-export-work',
  archiveVersion: '1.0.0',
} as const;
