import type { components } from './schema'; export interface AddToMarketParams { building_id: number; offer: Array<{ type?: 'glyph' | 'plan' | 'prisoner' | 'ship'; name?: string; quantity?: number; glyph_id?: number; plan_id?: number; prisoner_id?: number; ship_id?: number; }>; ask: number; } export interface AddToMarketResponse { trade_id: number; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface GetShipsParams { building_id: number; } export interface GetShipsResponse { ships: Array<{ id?: number; name?: string; type?: string; hold_size?: number; speed?: number }>; cargo_space_used_each: number; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface GetPrisonersParams { building_id: number; } export interface GetPrisonersResponse { prisoners: Array<{ id?: number; name?: string; level?: number; sentence_expires?: string }>; cargo_space_used_each: number; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface GetPlanSummaryParams { building_id: number; } export interface GetPlanSummaryResponse { plans: Array<{ name?: string; level?: number; extra_build_level?: number; quantity?: number }>; cargo_space_used_each: number; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface GetGlyphSummaryParams { building_id: number; } export interface GetGlyphSummaryResponse { glyphs: Array<{ type?: string; quantity?: number }>; cargo_space_used_each: number; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface WithdrawFromMarketParams { building_id: number; trade_id: number; } export interface WithdrawFromMarketResponse { status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface AcceptFromMarketParams { building_id: number; trade_id: number; } export interface AcceptFromMarketResponse { status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface ViewMarketParams { building_id: number; page_number?: number; filter?: 'food' | 'ore' | 'water' | 'waste' | 'energy' | 'glyph' | 'prisoner' | 'ship' | 'plan'; } export interface ViewMarketResponse { trades: Array<{ id: number; date_offered: string; ask: number; offer: Array; empire?: { id?: number; name?: string }; }>; trade_count: number; page_number: number; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface ViewMyMarketParams { building_id: number; page_number?: number; } export interface ViewMyMarketResponse { trades: Array<{ id: number; date_offered: string; ask: number; offer: Array; empire?: { id?: number; name?: string }; }>; trade_count: number; page_number: number; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface GetStoredResourcesParams { building_id: number; } export interface GetStoredResourcesResponse { resources: Record; cargo_space_used_each: number; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface PushItemsParams { building_id: number; target_id: number; items: Array<{ type?: 'glyph' | 'plan' | 'prisoner' | 'ship'; name?: string; quantity?: number; glyph_id?: number; plan_id?: number; prisoner_id?: number; ship_id?: number; }>; } export interface PushItemsResponse { status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface TradeOneForOneParams { building_id: number; have: string; want: string; quantity: number; } export interface TradeOneForOneResponse { status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface ReportAbuseParams { building_id: number; trade_id: number; } export interface ReportAbuseResponse { status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; }