// SPDX-FileCopyrightText: 2021 Johannes Loher // // SPDX-License-Identifier: MIT export interface ModifiableData { mod: T; } export interface HasBase { base: T; } export interface ModifiableDataBase extends ModifiableData, HasBase {} export interface HasTotal { total: T; } export interface ModifiableDataBaseTotal extends ModifiableDataBase, HasTotal {} export interface ResourceData extends ModifiableData { value: T; } export interface HasMax { max: T; } export interface ModifiableDataBaseMax extends ModifiableDataBase, HasMax {} export interface ModifiableDataBaseTotalMax extends ModifiableDataBaseMax, HasTotal {} export interface ResourceDataBaseTotalMax extends ResourceData, HasBase, HasTotal, HasMax {} export interface UsableResource { total: T; used: T; }