import { AvailableFreeActionData, BoardAction, Command, GaiaHex } from "@gaia-project/engine"; import { AnyTechTilePos } from "@gaia-project/engine/src/enums"; import { CubeCoordinates } from "hexagrid"; import { ActionPayload, SubscribeActionOptions, SubscribeOptions } from "vuex"; import { EmitCommandParams } from "../../components/Commands.vue"; import { ButtonData, HexSelection, HighlightHex, SpecialActionIncome } from "../../data"; import { FastConversionButton } from "../../data/actions"; export type FastConversionTooltips = { [key in FastConversionButton]?: string }; export class ExecuteBack { performed: boolean; constructor() { this.performed = false; } } export type AvailableConversions = { free?: AvailableFreeActionData; burn?: number[]; }; export interface CommandController { readonly customButtons: ButtonData[]; readonly subscriptions: { [key in Command]?: () => void }; readonly temporaryRange: number; undo(); handleCommand(command: string, source?: ButtonData); disableTooltips(); subscribeAction
(fn: SubscribeActionOptions
, options?: SubscribeOptions): () => void;
setFastConversionTooltips(tooltips: FastConversionTooltips);
supportsHover(): boolean;
highlightResearchTiles(tiles: string[]);
highlightTechs(techs: Array