import CacheControl, { CacheControlConfig as CacheConfig } from 'cache-with-resolver'; import { IntrinsicElements as inEls } from './intrinsic/IntrinsicElements'; import View, { ClassComponent, Context, FunctionComponent, NodeConstructor, Props } from './View'; import ViewBuilder from './ViewBuilder'; import ViewNode from './ViewNode'; import { RegisterConfig } from './register'; import { cache } from './decorators/cache'; import { readonly } from './decorators/readonly'; import { viewStore } from './decorators/viewStore'; import { Helpers } from './Helpers'; declare type ineEls = inEls; declare global { namespace JSX { type IntrinsicElements = ineEls; type Element = ViewNode | any; interface ElementClass extends View.Component { render(): JSX.Element; } interface IntrinsicAttributes { } } } export interface ViewEngineConfig { beautifyOutput?: boolean; beautifyOptions?: Object; logger?: (message: string) => void; logRenderTime?: boolean; singleton?: boolean; layout?: FunctionComponent | ClassComponent; cacheConfig?: CacheConfig; } declare class ViewEngine { readonly config: ViewEngineConfig; readonly cacheControl: CacheControl; constructor(config?: ViewEngineConfig); static register(pth: string, config?: RegisterConfig): void; getBuilder(): ViewBuilder; getBuilder(root: FunctionComponent | ClassComponent): ViewBuilder; getBuilder(context: Context): ViewBuilder; getBuilder(root: FunctionComponent | ClassComponent, context: Context): ViewBuilder; render(root: FunctionComponent | ClassComponent, context?: Context): Promise; } declare const Decorators: { cache: typeof cache; readonly: typeof readonly; viewStore: typeof viewStore; }; export { View, ViewEngine, Decorators, Helpers, ViewBuilder, ViewNode, NodeConstructor, ClassComponent, FunctionComponent, Props, Context, CacheConfig, }; //# sourceMappingURL=index.d.ts.map