
/**
 * 동기화 관련 타입 정의
 */

// 동기화 결과 타입 정의
export interface SyncResult {
  success: boolean;
  partial: boolean;
  uploadSuccess: boolean;
  downloadSuccess: boolean;
  details?: {
    budgetUpload?: boolean;
    budgetDownload?: boolean;
    transactionUpload?: boolean;
    transactionDownload?: boolean;
  };
}

// 백업 데이터 타입 정의
export interface BackupData {
  budgetData: string | null;
  categoryBudgets: string | null;
  transactions: string | null;
}

// 서버 데이터 상태 타입
export interface ServerDataStatus {
  hasBudgetData: boolean;
  hasTransactionData: boolean;
  hasData: boolean;
}

// 로컬 데이터 상태 타입
export interface LocalDataStatus {
  hasBudgetData: boolean;
  hasTransactionData: boolean;
  hasData: boolean;
}

// 데이터 상태 타입
export interface DataStatus {
  server: ServerDataStatus;
  local: LocalDataStatus;
}
