// @generated
// This file is @generated by prost-build.
/// \[Internal\] Input to a send message request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SendMessageInput {
    /// The message to send to Hank.
    #[prost(message, optional, tag="1")]
    pub message: ::core::option::Option<message::Message>,
}
/// \[Internal\] Output from a send message request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SendMessageOutput {
}
/// \[Internal\] Input to a reaction request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReactInput {
    /// The reaction to send to Hank.
    #[prost(message, optional, tag="1")]
    pub reaction: ::core::option::Option<message::Reaction>,
}
/// \[Internal\] Output from a reaction request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReactOutput {
}
/// \[Internal\] Input to a db query request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DbQueryInput {
    /// The prepared statement to send to Hank.
    #[prost(message, optional, tag="1")]
    pub prepared_statement: ::core::option::Option<database::PreparedStatement>,
}
/// \[Internal\] Output from a db query request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DbQueryOutput {
    /// The database results from the query from Hank.
    #[prost(message, optional, tag="1")]
    pub results: ::core::option::Option<database::Results>,
}
/// \[Internal\] Input to a cron request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CronInput {
    /// A cronjob to send to Hank.
    #[prost(message, optional, tag="1")]
    pub cron_job: ::core::option::Option<cron::CronJob>,
}
/// \[Internal\] Output from a cron request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CronOutput {
}
/// \[Internal\] Input to a one shot request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OneShotInput {
    /// A one shot to send to Hank.
    #[prost(message, optional, tag="1")]
    pub one_shot_job: ::core::option::Option<cron::OneShotJob>,
}
/// \[Internal\] Output from a one shot request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OneShotOutput {
}
/// \[Internal\] Input to a reload plugin request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReloadPluginInput {
    /// The plugin to reload.
    #[prost(string, tag="1")]
    pub plugin: ::prost::alloc::string::String,
}
/// \[Internal\] Output from a reload plugin request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReloadPluginOutput {
}
/// \[Internal\] Input to a load plugin request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LoadPluginInput {
    /// A compiled plugin wasm file to load.
    #[prost(oneof="load_plugin_input::Wasm", tags="1, 2, 3")]
    pub wasm: ::core::option::Option<load_plugin_input::Wasm>,
}
/// Nested message and enum types in `LoadPluginInput`.
pub mod load_plugin_input {
    /// A compiled plugin wasm file to load.
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Wasm {
        /// Get compiled plugin wasm file from a url.
        #[prost(string, tag="1")]
        Url(::prost::alloc::string::String),
        /// Get compiled plugin wasm file from a path on hanks system.
        #[prost(string, tag="2")]
        Path(::prost::alloc::string::String),
        /// Compiled plugin wasm file as bytes.
        #[prost(bytes, tag="3")]
        Bytes(::prost::alloc::vec::Vec<u8>),
    }
}
/// \[Internal\] Output from a load plugin request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LoadPluginOutput {
    /// The metadata returned by the loaded plugin.
    #[prost(message, optional, tag="1")]
    pub metadata: ::core::option::Option<plugin::Metadata>,
    /// The plugins extism::Manifest, as JSON.
    #[prost(string, tag="2")]
    pub manifest: ::prost::alloc::string::String,
}
/// \[Internal\] Input to a InstructionKind::ChatCommand request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChatCommandInput {
    /// The chat command context to send to Hank.
    #[prost(message, optional, tag="1")]
    pub context: ::core::option::Option<plugin::CommandContext>,
    /// The message that the chat command originates from.
    #[prost(message, optional, tag="2")]
    pub message: ::core::option::Option<message::Message>,
}
/// \[Internal\] Output from a InstructionKind::ChatCommand request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChatCommandOutput {
}
/// \[Internal\] Input to a InstructionKind::ChatMessage request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChatMessageInput {
    /// The chat message.
    #[prost(message, optional, tag="1")]
    pub message: ::core::option::Option<message::Message>,
}
/// \[Internal\] Output from a InstructionKind::ChatMessage request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChatMessageOutput {
}
/// \[Internal\] Input to a InstructionKind::GetMetadata request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMetadataInput {
}
/// \[Internal\] Output from a InstructionKind::GetMetadata request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMetadataOutput {
    /// The metadata returned by the plugin.
    #[prost(message, optional, tag="1")]
    pub metadata: ::core::option::Option<plugin::Metadata>,
}
/// \[Internal\] Input to a InstructionKind::Initialize request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InitializeInput {
}
/// \[Internal\] Output from a InstructionKind::Initialize request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InitializeOutput {
}
/// \[Internal\] Input to a InstructionKind::Install request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InstallInput {
}
/// \[Internal\] Output from a InstructionKind::Install request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InstallOutput {
}
/// \[Internal\] Input to a InstructionKind::SheduledJob request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScheduledJobInput {
    #[prost(oneof="scheduled_job_input::ScheduledJob", tags="1, 2")]
    pub scheduled_job: ::core::option::Option<scheduled_job_input::ScheduledJob>,
}
/// Nested message and enum types in `ScheduledJobInput`.
pub mod scheduled_job_input {
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum ScheduledJob {
        /// A cronjob to send to Hank.
        #[prost(message, tag="1")]
        CronJob(super::cron::CronJob),
        /// A one shot to send to Hank.
        #[prost(message, tag="2")]
        OneShotJob(super::cron::OneShotJob),
    }
}
/// \[Internal\] Output from a InstructionKind::ScheduledJob request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ScheduledJobOutput {
}
/// \[Internal\] Input to a InstructionKind::Shutdown request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ShutdownInput {
}
/// \[Internal\] Output from a InstructionKind::Shutdown request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ShutdownOutput {
}
/// \[Internal\] Input to a instruct plugin request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InstructPluginInput {
    /// The the instruction to send to a Hank plugin.
    #[prost(message, optional, tag="1")]
    pub instruction: ::core::option::Option<plugin::Instruction>,
}
/// \[Internal\] Output from a instruct plugin request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InstructPluginOutput {
}
/// \[Internal\] Input to an unload plugin request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnloadPluginInput {
    /// The plugin to unload.
    #[prost(string, tag="1")]
    pub plugin: ::prost::alloc::string::String,
}
/// \[Internal\] Output from an unload plugin request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnloadPluginOutput {
}
/// \[Internal\] Input to a handle chat command request to Hank.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HandleChatCommandInput {
    /// The chat command context to send to Hank.
    #[prost(message, optional, tag="1")]
    pub context: ::core::option::Option<plugin::CommandContext>,
    /// The message that the chat command originates from.
    #[prost(message, optional, tag="2")]
    pub message: ::core::option::Option<message::Message>,
}
/// \[Internal\] Output from a handle chat command request to Hank.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HandleChatCommandOutput {
}
// @@protoc_insertion_point(module)
