import { ReceiveSubmissionApproveAction, ReceiveSubmissionDeclineAction, ReceiveSubmissionUpdateAction, SaveSubmissionAction, SendSubmissionAction } from "@/state/actions/submission"; import { InternshipDocument, SubmissionState } from "@/api/dto/internship-registration"; export enum InternshipPlanActions { Send = "SEND_PLAN", Save = "SAVE_PLAN", Approve = "RECEIVE_PLAN_APPROVE", Decline = "RECEIVE_PLAN_DECLINE", Receive = "RECEIVE_PLAN_STATE", } export interface SendPlanAction extends SendSubmissionAction { document: InternshipDocument; } export interface ReceivePlanApproveAction extends ReceiveSubmissionApproveAction { } export interface ReceivePlanDeclineAction extends ReceiveSubmissionDeclineAction { } export interface ReceivePlanUpdateAction extends ReceiveSubmissionUpdateAction { document: InternshipDocument; state: SubmissionState; } export interface SavePlanAction extends SaveSubmissionAction { document: InternshipDocument; } export type InternshipPlanAction = SendPlanAction | SavePlanAction | ReceivePlanApproveAction | ReceivePlanDeclineAction | ReceivePlanUpdateAction;