@ima/core
Version:
IMA.js framework for isomorphic javascript application
43 lines • 1.67 kB
TypeScript
import { Constructor } from 'type-fest';
import { PageStateManager } from './state/PageStateManager';
import { OCAliasMap } from '../config/bind';
import { Controller } from '../controller/Controller';
import { ObjectContainer } from '../oc/ObjectContainer';
import { RouteController } from '../router/AbstractRoute';
import { RouteOptions } from '../router/Router';
/**
* Factory for page.
*/
export declare class PageFactory {
/**
* The current application object container.
*/
_oc: ObjectContainer;
/**
* Factory used by page management classes.
*/
constructor(oc: ObjectContainer);
/**
* Create new instance of {@link Controller}.
*/
createController(controller: RouteController, options: RouteOptions): Controller;
/**
* Retrieves the specified react component class.
*
* @param view The namespace
* referring to a react component class, or a react component class
* constructor.
* @return The react component class
* constructor.
*/
createView<V extends keyof OCAliasMap | Constructor<any> | ((...args: any[]) => any)>(view: V): (V & Function) | Constructor<keyof OCAliasMap | Constructor<any>>;
/**
* Returns decorated controller for ease setting seo params in controller.
*/
decorateController(controller: Controller): import("..").ControllerDecorator<{}, {}, {}>;
/**
* Returns decorated page state manager for extension.
*/
decoratePageStateManager(pageStateManager: PageStateManager, allowedStateKeys: string[]): import("..").PageStateManagerDecorator;
}
//# sourceMappingURL=PageFactory.d.ts.map