//#region src/components/task-progress/types.d.ts type Tone = 'neutral' | 'waiting' | 'active' | 'ready' | 'complete' | 'warning'; type NodeState = 'done' | 'current' | 'upcoming' | 'skipped' | 'unknown'; interface ProgressNode { id: string; label: string; state: NodeState; } interface ProgressField { label: string; value: string; emphasis?: 'primary'; } interface ProgressTask { id: string; title: string; subtitle?: string; /** Customer-visible item remark, separate from specifications and service notices. */ remark?: Pick; quantity?: string; status: { label: string; tone: Tone; }; validity: 'active' | 'inactive' | 'unknown'; nodes?: ProgressNode[]; fields?: ProgressField[]; notice?: string; } interface ProgressIssue { code: string; recordId?: string; } interface TaskProgressModel { orderId: string; title?: string; tasks: ProgressTask[]; issues: ProgressIssue[]; } interface ProgressState { model: TaskProgressModel | null; loading: boolean; error: boolean; forbidden: boolean; updatedAt: Date | null; } //#endregion export { NodeState, ProgressField, ProgressIssue, ProgressNode, ProgressState, ProgressTask, TaskProgressModel, Tone };