/**
 * U2 Routes - Universal login with SSR + hydration + client-side navigation
 *
 * These routes serve HTML pages with server-side rendered authhero-widget
 * that hydrates on the client for interactivity and client-side navigation.
 *
 * Routes:
 * - GET /u2/login/identifier - Identifier screen (first screen of login flow)
 * - GET /u2/login/email-otp-challenge - Email OTP code verification
 * - GET /u2/login/sms-otp-challenge - SMS OTP code verification
 * - GET /u2/enter-password - Password authentication
 * - GET /u2/signup - New user registration
 * - GET /u2/reset-password/request - Password reset request
 * - GET /u2/reset-password - Set new password
 * - GET /u2/impersonate - User impersonation
 *
 * Each route:
 * 1. Fetches screen data server-side
 * 2. Server-side renders the widget with declarative shadow DOM
 * 3. Hydrates on client for interactivity
 * 4. Supports client-side navigation between screens
 */
import { OpenAPIHono } from "@hono/zod-openapi";
import { Bindings, Variables } from "../../types";
export declare const u2Routes: OpenAPIHono<{
    Bindings: Bindings;
    Variables: Variables;
}, {
    "/info": {
        $get: {
            input: {
                query: {
                    state?: string | undefined;
                    code?: string | undefined;
                    error?: string | undefined;
                    error_description?: string | undefined;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        };
    };
} & {
    "/guardian/enroll": {
        $get: {
            input: {
                query: {
                    ticket: string;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    ticket: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
} & {
    "/accept-invitation": {
        $get: {
            input: {
                query: {
                    invitation?: string | undefined;
                    organization?: string | undefined;
                    state?: string | undefined;
                    error?: string | undefined;
                    error_description?: string | undefined;
                    ui_locales?: string | undefined;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    invitation?: string | undefined;
                    organization?: string | undefined;
                    state?: string | undefined;
                    error?: string | undefined;
                    error_description?: string | undefined;
                    ui_locales?: string | undefined;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
} & {
    "/accept-invitation": {
        $post: {
            input: {
                query: {
                    state: string;
                    error?: string | undefined;
                    error_description?: string | undefined;
                    ui_locales?: string | undefined;
                };
            } & {
                form: Record<string, string>;
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    state: string;
                    error?: string | undefined;
                    error_description?: string | undefined;
                    ui_locales?: string | undefined;
                };
            } & {
                form: Record<string, string>;
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
} & {
    "/tickets/email-verification": {
        $get: {
            input: {
                query: {
                    ticket: string;
                    tenant_id?: string | undefined;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    ticket: string;
                    tenant_id?: string | undefined;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
} & {
    "/tickets/password-change": {
        $get: {
            input: {
                query: {
                    ticket: string;
                    tenant_id?: string | undefined;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
} & {
    "/:screen{.+}": {
        $get: {
            input: {
                param: {
                    screen: "signup" | "login" | "reset-password" | "account" | "enter-password" | "impersonate" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
                };
            } & {
                query: {
                    state: string;
                    error?: string | undefined;
                    error_description?: string | undefined;
                    ui_locales?: string | undefined;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                param: {
                    screen: "signup" | "login" | "reset-password" | "account" | "enter-password" | "impersonate" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
                };
            } & {
                query: {
                    state: string;
                    error?: string | undefined;
                    error_description?: string | undefined;
                    ui_locales?: string | undefined;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        } | {
            input: {
                param: {
                    screen: "signup" | "login" | "reset-password" | "account" | "enter-password" | "impersonate" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
                };
            } & {
                query: {
                    state: string;
                    error?: string | undefined;
                    error_description?: string | undefined;
                    ui_locales?: string | undefined;
                };
            };
            output: {};
            outputFormat: string;
            status: 400;
        };
    };
} & {
    "/:screen{.+}": {
        $post: {
            input: {
                param: {
                    screen: "signup" | "login" | "reset-password" | "enter-password" | "impersonate" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
                };
            } & {
                query: {
                    state: string;
                    error?: string | undefined;
                    error_description?: string | undefined;
                    ui_locales?: string | undefined;
                };
            } & {
                form: Record<string, string>;
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                param: {
                    screen: "signup" | "login" | "reset-password" | "enter-password" | "impersonate" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
                };
            } & {
                query: {
                    state: string;
                    error?: string | undefined;
                    error_description?: string | undefined;
                    ui_locales?: string | undefined;
                };
            } & {
                form: Record<string, string>;
            };
            output: {};
            outputFormat: string;
            status: 302;
        } | {
            input: {
                param: {
                    screen: "signup" | "login" | "reset-password" | "enter-password" | "impersonate" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
                };
            } & {
                query: {
                    state: string;
                    error?: string | undefined;
                    error_description?: string | undefined;
                    ui_locales?: string | undefined;
                };
            } & {
                form: Record<string, string>;
            };
            output: {};
            outputFormat: string;
            status: 400;
        };
    };
}, "/">;
