import Router from "@koa/router"; import { Context } from "koa"; import { FlatTemplatable } from "tempstream"; import type { FormDataValue } from "../forms/form-types.js"; import { Fields, MountableWithFields, PageErrorMessage } from "./mountable-with-fields.js"; import { PagePropsParser } from "./props-parser.js"; export declare abstract class Page> extends MountableWithFields { propsParser: PagePropsParser>; getControls: () => never[]; mount(router: Router, path: string): void; canAccess(_: Context): Promise<{ canAccess: boolean; message: string; }>; renderError(_: Context, error: PageErrorMessage): Promise; abstract render(ctx: Context): Promise; extractRawValues(ctx: Context): Promise>; }