import { ListObjectInstruction } from '../../shared'; import { Resource } from './resource'; export interface MaterialType { readonly id: string; readonly dimension: string; readonly unit: string; readonly consumption: number; readonly quantity: number; readonly type: string; } export interface ToolboxType { readonly id: string; readonly unit: string; readonly quantity: number; readonly type: string; } export declare const enum UtilityComponentType { Instructions = "INSTRUCTIONS", Resources = "RESOURCES" } export interface Utility { readonly id: string; readonly components: UtilityComponent[]; } export interface UtilityComponentBase { readonly id: string; readonly attributes: { [key: string]: unknown; }; readonly componentId?: string; } export interface UtilityComponentWithInstructions extends UtilityComponentBase { readonly componentType: UtilityComponentType.Instructions; readonly structure: ListObjectInstruction[]; } export interface UtilityComponentWithResources extends UtilityComponentBase { readonly componentType: UtilityComponentType.Resources; readonly structure: Resource[]; } export type UtilityComponent = UtilityComponentWithInstructions | UtilityComponentWithResources;