import type { CuiNullable } from '@cuby-ui/cdk'; import { JobActionType } from './job-action-type'; import { TreeStruct } from '../../shared'; import { TechnologyState } from './technology.api.options'; export declare const enum TechnologyErrors { Crew = "NO_CREW_IN_TECHNOLOGY", FactoryTechnology = "TECHNOLOGY_FACTORY_NOT_FOUND", Shifts = "TECHNOLOGY_LACK_OF_SHIFTS", Entities = "NO_ENTITIES_ADDED", Stages = "TECHNOLOGY_STAGES_NOT_FOUND" } export interface TechnologyInformation { readonly constructionTechnologyId: string; readonly constructionTechnologyName: string; } export interface TechnologyMainContent { readonly id: string; readonly title: string; readonly description: string; readonly textContainerId: CuiNullable; readonly factoryTechnologyId: string; readonly crewsId: string[]; readonly stages?: string[]; readonly state: TechnologyState; } export interface TechnologyShiftItem { readonly id: string; readonly title: JobActionType; readonly elements: { readonly id: string; }[]; } export interface TechnologyShiftContent { readonly shifts: [TechnologyShiftItem, TechnologyShiftItem]; } export interface TechnologyConstructionContent { readonly constructions: [TreeStruct]; } export interface TechnologyError { readonly error: TechnologyErrors; readonly technologyId: string; readonly shiftType?: JobActionType; readonly shiftContainerId?: string; } export interface Technology extends TechnologyMainContent, TechnologyShiftContent, TechnologyConstructionContent { }