reactant
Version: 
A framework for building React web applications
38 lines • 1.31 kB
TypeScript
import { ContainerOptions, ReactantModuleOptions, TypePreloadedState, ReactantStore, DevOptions, Container } from 'reactant-module';
export type Renderer<T extends any[]> = (element: JSX.Element, ...args: T) => any;
export interface Config<T, S extends any[], R extends Renderer<S>> {
    /**
     * As the main start-up module.
     */
    main: ReactantModuleOptions<T>;
    /**
     * As a rendering function for any React renderer.
     */
    render: (element: JSX.Element, ...args: S) => ReturnType<R>;
    /**
     * Importing the injected dependency modules.
     */
    modules?: ReactantModuleOptions[];
    /**
     * Dependent injection container options.
     */
    containerOptions?: ContainerOptions;
    /**
     * Preloaded state of shared state for Redux.
     */
    preloadedState?: TypePreloadedState<any>;
    /**
     * Reactant's development setting options.
     */
    devOptions?: DevOptions;
}
export interface App<T, S extends any[], R extends Renderer<S>> {
    instance: T;
    container: Container;
    store: ReactantStore | null;
    modules: Record<string, any>;
    destroy: () => void;
    bootstrap(...args: S): ReturnType<R> | Promise<R>;
}
export type ShallowEqual = (a: Record<string, any>, b: Record<string, any>) => boolean;
//# sourceMappingURL=interfaces.d.ts.map