export type SavingType = 'time-based' | 'event-based' | 'gold' | 'crypto'

export type FrequencyType = 
  | 'one-time'
  | 'daily'
  | 'weekly'
  | 'once-in-two-weeks'
  | 'monthly'
  | 'quarterly'
  | 'half-yearly'
  | 'yearly'

export type SourceOfFundType = 'wallet' | 'bank' | 'card'

export type EventType =
  | 'wallet-to-wallet-transfer'
  | 'adding-money-to-wallet'
  | 'sending-money-outoff-wallet'
  | 'future-transaction'
  | 'currency-conversion'
  | 'bill-payment'
  | 'travel-booking'

export interface TimeBasedSaving {
  id: string
  type: FrequencyType
  sourceOfFund: SourceOfFundType
  amount: number
  balance: number
}

export interface EventBasedSaving {
  id: string
  eventType: EventType
  sourceOfFund: SourceOfFundType
  savingType: 'fixed' | 'percentage'
  amount: number
  percentage: number
  balance: number
}

export interface GoldSaving {
  id: string
  type: FrequencyType | EventType
  category: 'time-based' | 'event-based'
  sourceOfFund: SourceOfFundType
  amount: number
  balance: number
}

export interface CryptoSaving {
  id: string
  type: FrequencyType | EventType
  category: 'time-based' | 'event-based'
  sourceOfFund: SourceOfFundType
  amount: number
  balance: number
}

export interface TabPanelProps {
  children?: React.ReactNode
  index: number
  value: number
}