import { ReactNode } from "react"; import { IconType } from "react-icons/lib"; enum ModButtonCancellationContentOptions { CANCEL = "Cancel", DELETE = "Delete", REFUSE = "Refuse", DECLINE = "Decline", REJECT = "Reject", CLOSE = "Close", DESTROY = "Destroy", } enum ModButtonCancellationContentPresentParticiples { CANCELLING = "Cancelling...", DELETING = "Deleting...", REFUSING = "Refusing...", DECLINING = "Declining...", REJECTING = "Rejecting...", CLOSING = "Closing...", DESTROYING = "Destroying...", } type ModButtonActionProps = { content: string | null; onClick: () => void | null; isLoading: boolean; isLoadingContent: string | null; // We will just use a string here, as it is too abstract. }; type ModButtonCancellationProps = { content: ModButtonCancellationContentOptions; onClick: () => void | null; isLoading: boolean; isLoadingContent: ModButtonCancellationContentPresentParticiples; }; type ModButtonInfoProps = { content: string | null; onClick: () => void | null; isLoading: boolean; isLoadingContent: string | null; // We will just use a string here, as it is too abstract. }; type ModButtonIconBorderedProps = { icon: ReactNode; onClick: () => void | null; isLoading: boolean; }; export type { ModButtonActionProps, ModButtonCancellationProps, ModButtonInfoProps, ModButtonIconBorderedProps, }; export { ModButtonCancellationContentOptions, ModButtonCancellationContentPresentParticiples, };