import type { CuiNullable } from '@cuby-ui/cdk'; export interface ChecklistFormalizationDto { readonly id: string; readonly nodeCheckListFormalizations: NodeCheckListFormalizationDto[]; } export interface NodeCheckListFormalizationDto { readonly id: string; readonly title: string; readonly textContainerId: string; readonly personalActions: NodeCheckListPersonalActionDto; readonly checkListType: ChecklistType; } export interface NodeCheckListPersonalActionDto { readonly ASSIGN: CuiNullable; readonly APPROVE: CuiNullable; } export interface ActionsAssigneeDto { readonly contents: ActionContentDto[]; readonly answer: CuiNullable; } export interface ActionsApproveDto { readonly contents: ButtonActionContentDto[]; readonly answer: CuiNullable; } export type ActionContentDto = ListEvaluationActionContentDto | ButtonActionContentDto; export interface ActionContentBaseDto { readonly id: string; readonly actions: ActionDto[]; readonly actionType: ChecklistActionType; } export interface ListEvaluationActionContentDto extends ActionContentBaseDto { readonly actionType: ChecklistActionType.ListEvaluation; readonly acceptanceCriteriaEvaluations: AcceptanceCriteriaEvaluationDto[]; } export interface ButtonActionContentDto extends ActionContentBaseDto { readonly title: string; readonly considerCorrect: boolean; readonly actionType: ChecklistActionType.Button; } export interface ActionDto { readonly id: string; readonly isRequired: boolean; readonly isEnable: boolean; readonly contentActionType: ChecklistContentActionType; } export interface AcceptanceCriteriaEvaluationDto { readonly id: string; readonly criteria: string; readonly evaluation: number; } export interface ChecklistAnswerDto { readonly id: string; readonly containerId: string; readonly nodeCheckListId: string; readonly contentId: string; readonly assigneeActionType: ChecklistNodeAssigneeType; readonly contentAnswer: ChecklistNodeAnswerActionContentDto; readonly createdAt: string; } export type ChecklistNodeAnswerActionContentDto = ChecklistEvaluationActionContentDto | ChecklistButtonActionContentDto; export interface ChecklistEvaluationActionContentDto { readonly contentType: ChecklistActionType.ListEvaluation; readonly acceptanceCriteriaEvaluationId: string; readonly actions: ChecklistNodeAnswerActionDto[]; } export interface ChecklistButtonActionContentDto { readonly contentType: ChecklistActionType.Button; readonly actions: ChecklistNodeAnswerActionDto[]; } export type ChecklistNodeAnswerActionDto = ChecklistNodeAnswerActionTextAreaDto | ChecklistNodeAnswerActionAttachmentPhotoDto; export interface ChecklistNodeAnswerActionBaseDto { readonly actionId: string; readonly type: ChecklistContentActionType; } export interface ChecklistNodeAnswerActionTextAreaDto extends ChecklistNodeAnswerActionBaseDto { readonly type: ChecklistContentActionType.TextArea; readonly text: string; } export interface ChecklistNodeAnswerActionAttachmentPhotoDto extends ChecklistNodeAnswerActionBaseDto { readonly type: ChecklistContentActionType.AttachmentPhoto; readonly resources?: ChecklistResource[]; } export interface ChecklistResource { readonly id: string; readonly filename?: string; } export declare enum ChecklistType { ChecklistEvaluation = "CHECKLIST_EVALUATION", ChecklistButton = "CHECKLIST_BUTTON" } export declare enum ChecklistActionType { Button = "BUTTON", ListEvaluation = "LIST_EVALUATION" } export declare enum ChecklistContentActionType { AttachmentPhoto = "ATTACHMENT_PHOTO", TextArea = "TEXT_AREA" } export declare enum ChecklistNodeAssigneeType { Assign = "ASSIGN", Approve = "APPROVE" }