// Generated by scripts/lib/code-synthesizer.mjs

// - - - - - - - - - - - - - - - - - - - -
//            @method {get}
// - - - - - - - - - - - - - - - - - - - -
/*!
 * ESI endpoint: get:/characters/{character_id}/fleet/
 */
/**
 * Member’s role in fleet
 */
type GetCharactersCharacterIdFleetRole =
  | "fleet_commander"
  | "squad_commander"
  | "squad_member"
  | "wing_commander";

/**
 * 200 ok object
 */
interface GetCharactersCharacterIdFleetOk {
  /**
   * Character ID of the current fleet boss
   */
  fleet_boss_id: number;
  /**
   * The character's current fleet ID
   */
  fleet_id: number;
  role: GetCharactersCharacterIdFleetRole;
  /**
   * ID of the squad the member is in. If not applicable, will be set to -1
   */
  squad_id: number;
  /**
   * ID of the wing the member is in. If not applicable, will be set to -1
   */
  wing_id: number;
  [k: string]: unknown | undefined;
}

/*!
 * ESI endpoint: get:/fleets/{fleet_id}/
 */

/**
 * 200 ok object
 */
interface GetFleetsFleetIdOk {
  /**
   * Is free-move enabled
   */
  is_free_move: boolean;
  /**
   * Does the fleet have an active fleet advertisement
   */
  is_registered: boolean;
  /**
   * Is EVE Voice enabled
   */
  is_voice_enabled: boolean;
  /**
   * Fleet MOTD in CCP flavoured HTML
   */
  motd: string;
  [k: string]: unknown | undefined;
}

/*!
 * ESI endpoint: get:/fleets/{fleet_id}/members/
 */
/**
 * Member’s role in fleet
 */
type GetFleetsFleetIdMembersRole = "fleet_commander" | "wing_commander" | "squad_commander" | "squad_member";
/**
 * 200 ok array
 *
 * @maxItems 256
 */
type GetFleetsFleetIdMembersOk = GetFleetsFleetIdMembers_200Ok[];

/**
 * 200 ok object
 */
interface GetFleetsFleetIdMembers_200Ok {
  /**
   * character_id integer
   */
  character_id: number;
  /**
   * join_time string
   */
  join_time: string;
  role: GetFleetsFleetIdMembersRole;
  /**
   * Localized role names
   */
  role_name: string;
  ship_type_id: number;
  /**
   * Solar system the member is located in
   */
  solar_system_id: number;
  /**
   * ID of the squad the member is in. If not applicable, will be set to -1
   */
  squad_id: number;
  /**
   * Station in which the member is docked in, if applicable
   */
  station_id?: number;
  /**
   * Whether the member take fleet warps
   */
  takes_fleet_warp: boolean;
  /**
   * ID of the wing the member is in. If not applicable, will be set to -1
   */
  wing_id: number;
  [k: string]: unknown | undefined;
}

/*!
 * ESI endpoint: get:/fleets/{fleet_id}/wings/
 */
/**
 * squads array
 *
 * @maxItems 25
 */
type GetFleetsFleetIdWingsSquads = GetFleetsFleetIdWingsSquad[];
/**
 * 200 ok array
 *
 * @maxItems 25
 */
type GetFleetsFleetIdWingsOk = GetFleetsFleetIdWings_200Ok[];

/**
 * 200 ok object
 */
interface GetFleetsFleetIdWings_200Ok {
  /**
   * id integer
   */
  id: number;
  /**
   * name string
   */
  name: string;
  squads: GetFleetsFleetIdWingsSquads;
  [k: string]: unknown | undefined;
}
/**
 * squad object
 */
interface GetFleetsFleetIdWingsSquad {
  /**
   * id integer
   */
  id: number;
  /**
   * name string
   */
  name: string;
  [k: string]: unknown | undefined;
}

// - - - - - - - - - - - - - - - - - - - -
//            @method {post}
// - - - - - - - - - - - - - - - - - - - -
/*!
 * ESI endpoint: post:/fleets/{fleet_id}/wings/
 */

/**
 * 201 created object
 */
interface PostFleetsFleetIdWingsCreated {
  /**
   * The wing_id of the newly created wing
   */
  wing_id: number;
  [k: string]: unknown | undefined;
}

/*!
 * ESI endpoint: post:/fleets/{fleet_id}/wings/{wing_id}/squads/
 */

/**
 * 201 created object
 */
interface PostFleetsFleetIdWingsWingIdSquadsCreated {
  /**
   * The squad_id of the newly created squad
   */
  squad_id: number;
  [k: string]: unknown | undefined;
}
