export declare type CrossOrigin = 'anonymous' | 'use-credentials' | undefined; export declare type PreferCORS = boolean | CrossOrigin; export declare type KeepAlive = boolean | { useHiddenAttribute?: boolean; useHiddenClass?: string; detachDOM?: boolean; }; export declare type IgnoreAsset = RegExp | Array boolean)> | ((src: string) => boolean); export declare type AppEntry = { url: string; retries?: number; requestInit?: RequestInit; timeout?: number; }; export interface LifecycleOptions { name: string; timeouts?: Partial; customProps?: CustomProps | CustomPropsFn; loose?: boolean; fetchResourceOptions?: RequestInit | ((src: string) => RequestInit); envWithinLoading?: Record; } export interface AppPluginOptions { domWrapper?: string; } export interface AppPluginOptionsWithGeneric { } export interface AppOptions extends LifecycleOptions, AppPluginOptions, AppPluginOptionsWithGeneric { } export declare type AppTimeouts = { load: number; bootstrap: number; mount: number; update: number; unmount: number; }; export declare type AppLocation = { hash: string; host: string; hostname: string; href: string; origin: string; pathname: string; port: string; protocol: string; search: string; toString(): string; }; export declare type ActivityFn = (location: AppLocation) => boolean; export declare type Activity = ActivityFn | string | (ActivityFn | string)[]; export interface AppProps { name: string; domElement: string | Element; } export declare type CustomPropsFn = (name: string, location: Location) => CustomProps; export declare type LifecycleFn = (config: ExtraProps & AppProps) => Promise; export interface LifecycleFns { bootstrap?: LifecycleFn | Array>; mount: LifecycleFn | Array>; unmount: LifecycleFn | Array>; update?: LifecycleFn | Array>; }