//! This code was AUTOGENERATED using the Codama library.
use {
    crate::types::{
        Authority, ExternalCheckResult, ExternalPluginAdapterSchema, ExtraAccount,
        HookableLifecycleEvent,
    },
    solana_pubkey::Pubkey,
};
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Debug, Clone, borsh::BorshSerialize, borsh::BorshDeserialize, PartialEq)]
pub struct LinkedLifecycleHookInitInfo {
    pub hooked_program: Pubkey,
    pub init_plugin_authority: Option<Authority>,
    pub lifecycle_checks: Vec<(HookableLifecycleEvent, ExternalCheckResult)>,
    pub extra_accounts: Option<Vec<ExtraAccount>>,
    pub data_authority: Option<Authority>,
    pub schema: Option<ExternalPluginAdapterSchema>,
}
