/**
 * U2 Universal Login - Client-side widget routes
 *
 * This module creates the u2 app which provides a client-side widget-based
 * universal login experience. It's meant to run in parallel with /u/ routes
 * and will eventually replace them.
 *
 * Routes:
 * - /u2/screen/:screenId - Screen API (GET/POST)
 * - /u2/login/identifier - Identifier screen
 * - /u2/login/email-otp-challenge - Email OTP code verification
 * - /u2/login/sms-otp-challenge - SMS OTP code verification
 * - /u2/enter-password - Password authentication
 * - /u2/signup - New user registration
 * - /u2/reset-password/request - Password reset request
 * - /u2/reset-password - Set new password
 */
import { OpenAPIHono } from "@hono/zod-openapi";
import { AuthHeroConfig, Bindings, Variables } from "../../types";
export default function createU2App(config: AuthHeroConfig): OpenAPIHono<{
    Bindings: Bindings;
    Variables: Variables;
}, import("hono/types").MergeSchemaPath<{
    "/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;
        };
    };
}, "/"> & import("hono/types").MergeSchemaPath<{
    "/:formId/nodes/:nodeId": {
        $get: {
            input: {
                param: {
                    formId: string;
                    nodeId: string;
                };
            } & {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        } | {
            input: {
                param: {
                    formId: string;
                    nodeId: string;
                };
            } & {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 404;
        };
    };
} & {
    "/:formId/nodes/:nodeId": {
        $post: {
            input: {
                param: {
                    formId: string;
                    nodeId: string;
                };
            } & {
                query: {
                    state: string;
                };
            } & {
                json: {
                    data: Record<string, any>;
                };
            };
            output: {};
            outputFormat: string;
            status: 404;
        } | {
            input: {
                param: {
                    formId: string;
                    nodeId: string;
                };
            } & {
                query: {
                    state: string;
                };
            } & {
                json: {
                    data: Record<string, any>;
                };
            };
            output: {
                screen: any;
                branding: any;
            } | {
                redirect: string;
            };
            outputFormat: "json";
            status: 200;
        };
    };
}, "/forms"> & import("hono/types").MergeSchemaPath<{}, "/screen">, "/">;
export { screenApiRoutes } from "./screen-api";
export { u2Routes } from "./u2-routes.tsx";
export { u2FormNodeRoutes } from "./u2-form-node.tsx";
