import { ElementHandle } from "puppeteer"; export declare type RecordConditional = { [P in K]?: T; }; export declare type ResourceType = 'metal' | 'crystal' | 'deuterium' | 'energy' | 'darkmatter'; export declare const ALL_RESOURCES: ResourceType[]; export declare type ResourceList = Record; export interface Upgrade { url?: string; costs: ResourceList; time: number; } export declare type Status = 'disabled' | 'on' | 'off' | 'active'; export declare const ALL_STATUS: Status[]; export interface BuildingLight { id: number; status: Status; level: number; upgrade: Upgrade; } export declare type BuildingType = string; export interface Building extends BuildingLight { type: T; __elem?: ElementHandle; } export declare type BuildingList = RecordConditional>; export declare type MineType = 'metalMine' | 'crystalMine' | 'deuteriumSynthesizer' | 'solarPlant' | 'fusionPlant'; export declare const ALL_MINES: MineType[]; export interface Mine extends Building { resource: ResourceType; } export declare type MineList = RecordConditional; export declare type StorageType = 'metalStorage' | 'crystalStorage' | 'deuteriumStorage'; export declare const ALL_STORAGES: StorageType[]; export interface Storage extends Building { capacity: number; resource: ResourceType; } export declare type StorageList = RecordConditional; export interface ResourceFactoryList { mines: MineList; storages: StorageList; } export declare type FacilitieType = 'roboticsFactory' | 'shipyard' | 'researchLaboratory' | 'allianceDepot' | 'missileSilo' | 'naniteFactory' | 'terraformer' | 'repairDock'; export declare const ALL_FACILITIES: FacilitieType[]; export interface Facilities extends Building { capacity?: number; } export declare type FacilitiesList = RecordConditional; export declare type ResearchType = 'energyTechnology' | 'laserTechnology' | 'ionTechnology' | 'hyperspaceTechnology' | 'plasmaTechnology' | 'combustionDriveTechnology' | 'impulseDriveTechnology' | 'hyperspaceDriveTechnology' | 'espionageTechnology' | 'computerTechnology' | 'astrophysicsTechnology' | 'researchNetworkTechnology' | 'gravitonTechnology' | 'weaponsTechnology' | 'shieldingTechnology' | 'armorTechnology'; export declare const ALL_RESEARCH: ResearchType[]; export interface Research extends Building { } export declare type ResearchList = RecordConditional; export declare type ShipType = 'fighterLight' | 'fighterHeavy' | 'cruiser' | 'battleship' | 'interceptor' | 'bomber' | 'destroyer' | 'deathstar' | 'reaper' | 'explorer' | 'transporterSmall' | 'transporterLarge' | 'colonyShip' | 'recycler' | 'espionageProbe' | 'solarSatellite' | 'resbuggy'; export declare const ALL_BATTLE_SHIP: ShipType[]; export declare const ALL_CIVIL_SHIP: ShipType[]; export declare const ALL_SHIP: ShipType[]; export declare type ShipCategory = 'battle' | 'civil'; export interface Ship extends Building { category: ShipCategory; } export declare type ShipList = RecordConditional; export declare type DefenseType = 'rocketLauncher' | 'laserCannonLight' | 'laserCannonHeavy' | 'gaussCannon' | 'ionCannon' | 'plasmaCannon' | 'shieldDomeSmall' | 'shieldDomeLarge' | 'missileInterceptor' | 'missileInterplanetary'; export declare const ALL_DEFENSES: DefenseType[]; export interface Defense extends Building { } export declare type DefenseList = RecordConditional;