// Generated by alef. Do not edit by hand.
// swift-format-ignore-file
// This file contains the base protocol that all trait bridges inherit from.

import Foundation

/// Base protocol that all trait bridges must conform to.
/// Declares the four Plugin trait super-methods for lifecycle management.
public protocol SwiftPluginBridge: AnyObject {
    /// Returns the unique name/identifier for this plugin.
    var name: String { get }

    /// Returns the semantic version of this plugin.
    func version() -> String

    /// Initialize the plugin.
    func initialize() throws

    /// Shutdown the plugin.
    func shutdown() throws
}
