import type { ComponentType } from 'react'; import type { CompatibleAppConfig } from '@ice/stark/lib/AppRoute'; import type { AppRouterProps } from '@ice/stark/lib/AppRouter'; import type { AppRoute } from '@ice/stark'; export interface RouteInfo { pathname?: string; query?: object; hash?: string; routeType?: string; } export type FrameworkComponent = ComponentType; export type AppConfig = CompatibleAppConfig; export interface FrameworkConfig { getApps?: (data?: any) => (AppConfig[] | Promise); appRouter?: Omit; layout?: ComponentType; AppRoute?: typeof AppRoute; } export interface LifecycleOptions { container: Element; customProps?: Record; } export interface ChildConfig { mount?: (options?: LifecycleOptions) => Promise | void; unmount?: (options?: LifecycleOptions) => Promise | void; bootstrap?: (options?: any) => Promise | void; } export declare function defineFrameworkConfig(config: FrameworkConfig | (() => FrameworkConfig)): FrameworkConfig; export declare function defineChildConfig(config: ChildConfig | (() => ChildConfig)): ChildConfig;