export type filterAgeType = {
  value: string;
  label: string;
  min: number;
  max: number;
} | null;

export type filterRankingType = { value: number; label: string; name: string } | null;

export type filterCountryType = { two: string; name: string } | null;

export type RankingDropdown = { value: number; label: string };

export interface FilterModalRef {
  toggle: () => void;
  open: () => void;
  close: () => void;
}

export type ModalProps = {
  applyFilter: (
    filterAge: filterAgeType,
    filterRanking: filterRankingType,
    filterCountry: filterCountryType
  ) => void;
  countriesData: { two: string; name: string }[];
  isCountryHidden?: boolean;
};

export type FilterButtonProps = {
  onPress: () => void;
};

export interface TriumphsData {
  user_id: number;
  name: string;
  type: string;
  treshold: number;
  avatar: string | null;
  flag: string;
  text: string;
  icon: string;
}

export interface SeriesRanking {
  user_id: number;
  score: number;
  avatar: string | null;
  first_name: string;
  last_name: string;
  age: number;
  authenticated: 0 | 1;
  badge_nm: 0 | 1;
  badge_un: 0 | 1;
  badge_un_25: 0 | 1;
  badge_un_50: 0 | 1;
  badge_un_75: 0 | 1;
  badge_un_100: 0 | 1;
  badge_un_150: 0 | 1;
  badge_un_193: 0 | 1;
  badge_premium: 0 | 1;
  flag1: string;
  flag2: string | null;
  rip: boolean;
  recent_score_increase: boolean;
}
