interface PageData {
  Author?: string
  Canonical?: string
  CSSVars?: string
  DateModified?: Date
  DatePublished?: Date
  Description?: string
  HidePageHead?: boolean
  PageType?: string
  Tags?: Array<string>
  Template?: string
  Title: string
}

interface Page {
  Contents: string
  Data: PageData
}

interface PageRenderer {
  FileMatcher: RegExp
  Render: (source: string) => Page
}

export { PageRenderer, Page, PageData }
