export interface FxRateDetail {
  id: string;
  currency: string;
  fxRate: number;
  activeStatus: boolean;
  year: string;
}

export interface FxRateYearGroup {
  [year: string]: {
    [key: string]: FxRateDetail;
  };
}

export interface FxContentItem {
  fxRateDetails: FxRateYearGroup;
}

export interface SortInfo {
  empty: boolean;
  sorted: boolean;
  unsorted: boolean;
}

export interface PageableInfo {
  pageNumber: number;
  pageSize: number;
  sort: SortInfo;
  offset: number;
  paged: boolean;
  unpaged: boolean;
}

export interface FxRateEntry {
  id: string;
  currency: string;
  fxRate: number;
  activeStatus: boolean;
  year: string;
}

export interface FxRateDetails {
  [key: string]: {
    [key: string]: FxRateEntry;
  };
}

export interface FxRateResponse {
  content: FxContentItem[];
  pageable: PageableInfo;
  last: boolean;
  totalPages: number;
  totalElements: number;
  sort: SortInfo;
  first: boolean;
  number: number;
  size: number;
  numberOfElements: number;
  empty: boolean;
}

export interface CurrencyOption {
  value: string;
  label: string;
}