/** * **NOTE** * Express adds `_locals`, see https://github.com/expressjs/express/blob/4.15.4/lib/response.js#L962. * But `options.data.root.context` is available next to `root._locals.context`, because * Express creates a `renderOptions` object, see https://github.com/expressjs/express/blob/4.15.4/lib/application.js#L554 * and merges all locals to the root of the object. Very confusing, because the data is available in different layers. * * Express forwards the data like this to the hbs engine: * { * post: {}, - res.render('view', databaseResponse) * context: ['post'], - from res.locals * safeVersion: '1.x', - from res.locals * _locals: { * context: ['post'], * safeVersion: '1.x' * } * } * * hbs forwards the data to any hbs helper like this * { * data: { * site: {}, * labs: {}, * config: {}, * root: { * post: {}, * context: ['post'], * locals: {...} * } * } * * `site`, `labs` and `config` are the templateOptions, search for `hbs.updateTemplateOptions` in the code base. * Also see how the root object gets created, https://github.com/wycats/handlebars.js/blob/v4.0.6/lib/handlebars/runtime.js#L259 */ declare function ghost_head(options: any): Promise; declare namespace ghost_head { var async: boolean; } export default ghost_head;