import LazilyLoadedRoute from './LazilyLoadedRoute.ts'; import type { KittenRequest as SharedKittenRequest, KittenResponse as SharedKittenResponse } from '../types/index.ts'; export interface KittenRequest extends SharedKittenRequest { ws?: () => any; } export interface KittenResponse extends SharedKittenResponse { } export type SwapTarget = { before?: string; } | { after?: string; } | { asFirstChildOf?: string; } | { asLastChildOf?: string; }; export interface Slot { default?: string[] | any[]; HEAD?: string[]; START_OF_BODY?: string[]; END_OF_BODY?: string[]; BEFORE_LIBRARIES?: string[]; AFTER_LIBRARIES?: string[]; HTML?: string; [key: string]: any; } export default class PageRoute extends LazilyLoadedRoute { isClassBasedRoute: boolean; isLive: boolean; source: any; url?: string; lang: string; /** One-time lazy initialisation. Imports the handler and, if present, the page template. */ initialise(): Promise; /** Concrete overload that lazily loads the page route handler as necessary and handles requests. */ lazilyLoadedHandler(request: KittenRequest, response: KittenResponse): Promise; renderBaseLayoutComponent({ headSlotOverrides, page, request, SLOT }: { headSlotOverrides: Array; page: any; request: KittenRequest; SLOT: Slot; }): string; /** Renders the final HTML given the results of the html tagged template function. */ renderHtml(contents: string | string[] | any, page: any, request: KittenRequest): string; }