export type GetTitleAPI = {
  title: string;
  titleColor: string;
};

export type GetNoteAPI = {
  totalCount: number;
  topCount: number;
  lastPage: number;
  notes: {
    noteID: string;
    artist: string;
    title: string;
    genre: string;
    levelText: string;
    level: number;
    topCount?: number;
    totalCount?: number;
  }[];
};

export type GetCommentAPI = {
  comments: {
    date: number;
    avatarID: string;
    avatarName: string;
    stand: number;
    band: number;
    point: number;
    isBand1: boolean;
    commentary: string;
    judgmentMode: number;
    hitPointsMode: number;
    isPaused: boolean;
    handled: number;
    avatarPlace: number;
  }[];
  totalComments: number;
};

export type GetSitesAPI = {
  siteID: string;
  siteName: string;
  siteConfigure: number;
  hasCipher: boolean;
  avatarCount: number;
}[];

export type AvatarAPIWantAvatar = {
  avatarID: string;
  avatarName: string;
  avatarIntro: string;
};

export type AvatarAPIAvatar = {
  avatarID: string;
  avatarName: string;
  avatarIntro: string;
  totalCount: number;
  totalLength: number;
  topCount: number;
  date: number;
  avatarLevels: number[];
  avatarAbility5K: number;
  avatarAbility5KPlace: number;
  avatarAbility5KCount: number;
  avatarAbility7K: number;
  avatarAbility7KPlace: number;
  avatarAbility7KCount: number;
  avatarAbility9K: number;
  avatarAbility9KPlace: number;
  avatarAbility9KCount: number;
  dateSet: number[];
  dateValues: number[];
  quitStatusValues: number[];
};

export type GetAvatarFavoritesAPI = {
  noteID: string;
  artist: string;
  title: string;
  genre: string;
  levelText: string;
  level: number;
  handled: number;
  totalCount: number;
}[];

export type GetAvatarLastsAPI = {
  noteID: string;
  artist: string;
  title: string;
  genre: string;
  levelText: string;
  level: number;
  handled: number;
  date: number;
}[];

export type GetAvatarAbilitiesAPI = {
  noteID: string;
  artist: string;
  title: string;
  genre: string;
  levelText: string;
  level: number;
  handled: number;
  date: number;
  stand: number;
  ability: number;
}[];

export type GetAvatarWwwLevelsAPI = {
  levelID: string;
  title: string;
  levelText: string;
  level: number;
  date: number;
}[];

export type GetEtcAPI = {
  totalDateSet: string[];
  totalDateValues: number[];
  enrollDateSet: string[];
  enrollDateValues: number[];
  avatarDateSet: string[];
  avatarDateValues: number[];
  totalNoteFiles: EtcAPINoteFile[];
  totalTitles: EtcAPITitle[];
  totalEdges: EtcAPIEdge[];
  favorites: EtcAPINoteFile[];
  favoritesAt: EtcAPINoteFile[];
  inputModes: EtcAPIMode[];
  autoModes: EtcAPIMode[];
  noteSaltModes: EtcAPIMode[];
  faintNoteModes: EtcAPIMode[];
  judgmentModes: EtcAPIMode[];
  hitPointsModes: EtcAPIMode[];
  noteMobilityModes: EtcAPIMode[];
  longNoteModes: EtcAPIMode[];
  inputFavorModes: EtcAPIMode[];
  noteModifyModes: EtcAPIMode[];
  lowestJudgmentConditionModes: EtcAPIMode[];
};

export type EtcAPINoteFile = {
  noteID: string;
  title: string;
  artist: string;
  genre: string;
  level: number;
  levelText: string;
  value: number;
};

export type EtcAPITitle = {
  title: string;
  titleColor: string;
  value: number;
};

export type EtcAPIEdge = {
  edge: string;
  value: number;
};

export type EtcAPIMode = {
  mode: number;
  value: number;
};

export type GetHallAPI = {
  avatarID: string;
  avatarName: string;
  value: number;
};
