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

// 예산 데이터 타입
export interface BudgetData {
  daily: BudgetPeriod;
  weekly: BudgetPeriod;
  monthly: BudgetPeriod;
  [key: string]: BudgetPeriod;
}

// 기간별 예산 타입
export interface BudgetPeriod {
  targetAmount: number;
  spentAmount: number;
  remainingAmount: number;
  [key: string]: number;
}

// 카테고리 예산 타입
export type CategoryBudgets = Record<string, number>;

// 예산 업로드 결과 타입
export interface BudgetUploadResult {
  success: boolean;
  message: string;
}

// 데이터베이스 예산 항목 타입
export interface BudgetRecord {
  id?: string;
  user_id: string;
  month: number;
  year: number;
  total_budget: number;
  created_at?: string;
  updated_at: string;
}

// 데이터베이스 카테고리 예산 항목 타입
export interface CategoryBudgetRecord {
  id?: string;
  user_id: string;
  category: string;
  amount: number;
  created_at?: string;
  updated_at: string;
}
