import Handlebars from "handlebars"; export type Page = { publicUrl: string; content: string; excerpt?: string; orig: string; language: string; matter: string; matterfront: Record relativePath: string slug?: string }; export type GlobalContext = { baseUrl: string; srcDir: string; pages: Record; layouts: Record< string, { matter: Page; template: Handlebars.TemplateDelegate; } >; configuration: { staticFolder: string; layoutsFolder: string; }; styles: Record; preProcessPage?: (page: Page) => void; plugins: Array outFiles: Record errors: Error[] }; export type SitePlugin = (context: GlobalContext, page: Page) => Promise