import type * as React from 'react'; /** * Base interface for all core delegates. * * A Delegate acts as an adapter for a concrete implementation * (e.g., event bus, analytics, storage) and exposes a unified API. * * Responsibilities: * - `getInstance`: returns the underlying implementation instance. * - `init`: runs the initialization lifecycle and calls `onInit` once ready. * - `hoc` (optional): wraps a React component with additional logic (providers, context, etc.). */ export default interface Delegate { /** Returns the underlying service/adapter instance. */ getInstance(): unknown; /** Initializes the delegate and calls `onInit` when finished. */ init(onInit: () => void): void; /** Optional Higher-Order Component wrapper. */ hoc?:

(Component: React.ComponentType

) => React.ComponentType

; }