// @generated — do not edit
import { defineLifecycle } from "@tailor-platform/erp-kit/core";

export const approvalRequestLifecycle = defineLifecycle({
    approve: { from: ["PENDING"], to: "APPROVED" },
    reject: { from: ["PENDING"], to: "REJECTED" },
    sendBack: { from: ["PENDING"], to: "REVISION_REQUESTED" },
    resubmit: { from: ["REVISION_REQUESTED"], to: "PENDING" },
    withdraw: { from: ["PENDING", "REVISION_REQUESTED"], to: "WITHDRAWN" },
    cancel: { from: ["PENDING", "REVISION_REQUESTED"], to: "CANCELLED" },
});

export type ApprovalRequestStatus = typeof approvalRequestLifecycle.states[number];
