import type { components } from './schema'; export interface GetStarMapParams { left: number; top: number; right: number; bottom: number; } export interface GetStarMapResponse { stars: Array<{ name: string; color: string; x: number; y: number; id: number; zone: string; /** May be null when the star is outside any station's jurisdiction. */ influence: number | null; station?: { id: number; x: number; y: number; name: string; alliance: { name: string; id: number; image: string }; }; bodies: Array<{ name: string; id: number; orbit: number; x: number; y: number; type: string; image: string; size: number; empire?: { id: number; name: string; alignment: 'ally' | 'self' | 'hostile'; is_isolationist: 1 | 0; }; body_has_fissure?: 1 | 0; }>; }>; } export interface GetStarsParams { x1: number; y1: number; x2: number; y2: number; } export interface GetStarsResponse { stars: Array<{ name: string; color: string; x: number; y: number; zone: string; /** May be null when the star is outside any station's jurisdiction. */ influence: number | null; id: number; station?: { id: number; x: number; y: number; name: string }; bodies?: Array; }>; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface CheckStarForIncomingProbeParams { star_id: number; } export interface CheckStarForIncomingProbeResponse { status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; incoming_probe?: string; } export interface GetStarParams { star_id: number; } export interface GetStarResponse { star: { name: string; color: string; x: number; y: number; zone: string; /** May be null when the star is outside any station's jurisdiction. */ influence: number | null; id: number; station?: { id: number; x: number; y: number; name: string }; bodies?: Array; }; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface GetStarByNameParams { name: string; } export interface GetStarByNameResponse { star: { name: string; color: string; x: number; y: number; zone: string; /** May be null when the star is outside any station's jurisdiction. */ influence: number | null; id: number; station?: { id: number; x: number; y: number; name: string }; bodies?: Array; }; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface GetStarByXyParams { x: number; y: number; } export interface GetStarByXyResponse { star: { name: string; color: string; x: number; y: number; zone: string; /** May be null when the star is outside any station's jurisdiction. */ influence: number | null; id: number; station?: { id: number; x: number; y: number; name: string }; bodies?: Array; }; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface SearchStarsParams { name: string; } export interface SearchStarsResponse { stars: Array<{ name: string; color: string; x: number; y: number }>; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface ProbeSummaryFissuresParams { zone?: string; } /** The lightweight body shape `probe_summary_fissures` maps by body id. */ export interface BodyStatusLite { id: number; name: string; image: string; x: number; y: number; orbit: number; size: number; type: string; } export interface ProbeSummaryFissuresResponse { /** Keyed by body id. `null` when no fissures match the query. */ fissures: Record | null; } export interface ViewLawsParams { star_id: number; } export interface ViewLawsResponse { status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; laws: Array<{ id: number; name: string; description: string; date_enacted: string }>; }