import type { components } from './schema'; import type { ViewResponse as BuildingViewResponse } from './building'; export interface BuildQueueItem { building_id: number; name: string; to_level: number; seconds_remaining: number; x: number; y: number; subsidy_cost?: number; } export interface ViewResponse extends BuildingViewResponse { build_queue: BuildQueueItem[]; subsidy_cost: number; } export interface SubsidizeBuildQueueParams { building_id: number; } export interface SubsidizeBuildQueueResponse { status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; essentia_spent: number; } export interface SubsidizeOneBuildParams { building_id: number; scheduled_id: number; } export interface SubsidizeOneBuildResponse { status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; essentia_spent: number; } export interface CancelBuildParams { building_id: number; scheduled_id?: number | Array; cancel_all?: boolean; } export interface CancelBuildResponse { building: components['schemas']['building']; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; build_queue: Array<{ building_id: number; name: string; to_level: number; seconds_remaining: number; x: number; y: number; subsidy_cost: number; }>; subsidy_cost: number; }