import { PureObject } from '../../definitions/core'; export interface IContextView { render(...args: any[]): any; } export interface IViewManager { use(name: string, viewEngine: any): void; resolve(name: string): Promise; } export interface IAstroboyViewPluginAppExtends { readonly view: IViewManager; } export interface IViewConfig { root: string; cache: boolean; defaultExtension: string; defaultViewEngine: string; mapping: PureObject; } export interface IAstroboyViewPluginConfigExtends { view: Partial; } export interface IAstroboyViewPluginCtxExtends { readonly view: IContextView; /** * Render a file, then set to body, the parameter is same as {@link @ContextView#render} * @return {Promise} result */ render(...args: any[]): Promise; /** * Render a file, same as {@link @ContextView#render} * @return {Promise} result */ renderView(...args: any[]): Promise; renderString(...args: any[]): Promise; }