import Foundation public struct XWebViewConfig: Sendable { public var url: String public var title: String public var hideToolbar: Bool public var hideStatusBar: Bool public var userAgent: String? public init( url: String = "", title: String = "", hideToolbar: Bool = false, hideStatusBar: Bool = false, userAgent: String? = nil ) { self.url = url self.title = title self.hideToolbar = hideToolbar self.hideStatusBar = hideStatusBar self.userAgent = userAgent } } public protocol XWebViewController: AnyObject { func canGoBack() -> Bool func canGoForward() -> Bool func currentUrl() -> String? func goBack() func goForward() func reload() func load(url: String) }