import { InteractionHandler } from '@solid/community-server'; import type { InteractionHandlerInput, InteractionRoute, Representation } from '@solid/community-server'; /** * Entry for a single HTML view template. * Compatible with CSS's HtmlViewEntry interface. */ export interface HtmlViewEntry { route: InteractionRoute; filePath: string; } /** * A unified view handler that returns the same React app HTML for all identity routes. * The React app determines what to render based on window.location.pathname. * * This is a drop-in replacement for CSS's HtmlViewHandler. * It ignores individual template files and serves a single static HTML for all routes * under the index path. */ export declare class ReactAppViewHandler extends InteractionHandler { private readonly idpIndex; private readonly htmlTemplate; /** * @param index - The root interaction route (provides idpIndex URL) * @param htmlFile - Path to the static HTML file (relative to cwd) * @param templates - Ignored, kept for CSS config compatibility * @param templateEngine - Ignored, kept for CSS config compatibility */ constructor(index: InteractionRoute, htmlFile: string, templates?: HtmlViewEntry[], templateEngine?: unknown); canHandle({ operation }: InteractionHandlerInput): Promise; handle({ operation, oidcInteraction }: InteractionHandlerInput): Promise; }