/**
 * Widget Routes - Universal Login with built-in screens (SSR + Hydration)
 *
 * These routes serve the widget UI for each screen in the login flow.
 * The widget is server-side rendered for instant display, then hydrated
 * on the client for interactivity.
 *
 * Route pattern: /u/widget/:screenId?state=...
 *
 * Available screens:
 * - /u/widget/identifier - Email/username input (first screen)
 * - /u/widget/email-otp-challenge - Email OTP code verification
 * - /u/widget/sms-otp-challenge - SMS OTP code verification
 * - /u/widget/enter-password - Password authentication
 * - /u/widget/signup - New user registration
 * - /u/widget/forgot-password - Password reset request
 * - /u/widget/reset-password - Set new password
 */
import { OpenAPIHono } from "@hono/zod-openapi";
import { Bindings, Variables } from "../../types";
export declare const widgetRoutes: OpenAPIHono<{
    Bindings: Bindings;
    Variables: Variables;
}, {
    "/:screenId": {
        $get: {
            input: {
                param: {
                    screenId: string;
                };
            } & {
                query: {
                    state: string;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                param: {
                    screenId: string;
                };
            } & {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 404;
        };
    };
} & {
    "/:screenId": {
        $post: {
            input: {
                param: {
                    screenId: string;
                };
            } & {
                query: {
                    state: string;
                    action?: string | undefined;
                };
            } & {
                json: {
                    data: Record<string, any>;
                };
            };
            output: {
                screen: any;
                branding?: any;
            } | {
                redirect: string;
            };
            outputFormat: "json";
            status: 200;
        };
    };
}, "/">;
