use serde::{Deserialize, Serialize};
pub mod dependency;
pub mod manager;
#[allow(clippy::module_inception)]
pub mod plugin;
pub use plugin::*;
pub use dependency::DependencyManager;
pub use manager::{PluginManager, PluginManagerBuilder};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PluginMetadata {
pub name: String, pub version: String, pub description: String, pub author: String, pub dependencies: Vec<String>, pub conflicts: Vec<String>, pub state_fields: Vec<String>, pub tags: Vec<String>, }
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PluginConfig {
pub enabled: bool, pub priority: i32, pub settings: std::collections::HashMap<String, serde_json::Value>, }