import type React from 'react'; import type { ImperiumClient } from './ImperiumClient'; export interface ImperiumClientConfig { clientModules: () => ImperiumClientModule[]; rootComponent: (props?: any) => React.ReactNode; } export type Hoc = (WrappedComponent: React.ComponentType) => { (props: any): React.ReactNode; displayName: string; }; export type HocCreator = (client: ImperiumClient) => Hoc; export interface ImperiumClientModule { name: string; order?: number; startup?: (client: ImperiumClient) => Promise; hocs?: HocCreator[]; }