//! This code was AUTOGENERATED using the Codama library.
use crate::types::{
    AddBlocker, Attributes, Autograph, BubblegumV2, BurnDelegate, Edition, FreezeDelegate,
    FreezeExecute, Groups, ImmutableMetadata, MasterEdition, PermanentBurnDelegate,
    PermanentFreezeDelegate, PermanentFreezeExecute, PermanentTransferDelegate, Royalties,
    TransferDelegate, UpdateDelegate, VerifiedCreators,
};
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Debug, Clone, borsh::BorshSerialize, borsh::BorshDeserialize, PartialEq)]
pub enum Plugin {
    Royalties(Royalties),
    FreezeDelegate(FreezeDelegate),
    BurnDelegate(BurnDelegate),
    TransferDelegate(TransferDelegate),
    UpdateDelegate(UpdateDelegate),
    PermanentFreezeDelegate(PermanentFreezeDelegate),
    Attributes(Attributes),
    PermanentTransferDelegate(PermanentTransferDelegate),
    PermanentBurnDelegate(PermanentBurnDelegate),
    Edition(Edition),
    MasterEdition(MasterEdition),
    AddBlocker(AddBlocker),
    ImmutableMetadata(ImmutableMetadata),
    VerifiedCreators(VerifiedCreators),
    Autograph(Autograph),
    BubblegumV2(BubblegumV2),
    FreezeExecute(FreezeExecute),
    PermanentFreezeExecute(PermanentFreezeExecute),
    Groups(Groups),
}
