// Type definitions for express-handlebars // Project: https://github.com/ericf/express-handlebars // Definitions by: Sam Saint-Pettersen , Igor Dultsev // Definitions: https://github.com/borisyankov/DefinitelyTyped /// interface PartialTemplateOptions { cache?: boolean; precompiled?: boolean; } interface RenderOptions { cache?: boolean; data?: Object; helpers?: any; partials?: any; } interface ExphbsOptions { handlebars?: any; extname?: string; layoutsDir?: string; partialsDir?: any; defaultLayout?: string; helpers?: any; compilerOptions?: any; } interface Exphbs { engine: Function; extname: string; compiled: Object; precompiled: Object; create(options?: ExphbsOptions): Exphbs; getPartials(options?: PartialTemplateOptions): Promise; getTemplate(filePath: string, options?: PartialTemplateOptions): Promise; getTemplates(dirPath: string, options?: PartialTemplateOptions): Promise; render(filePath: string, context: Object, options?: RenderOptions): Promise; renderView(viewPath: string, optionsOrCallback: any, callback?: () => string): void; } interface ExpressHandlebars { (options?: ExphbsOptions): Function; create (options?: ExphbsOptions): Exphbs; } declare module "express-handlebars" { var exphbs: ExpressHandlebars; export = exphbs; }