import { OpenAPIHono } from "@hono/zod-openapi";
import { AuthHeroConfig, Bindings, Variables } from "../../types";
export default function create(config: AuthHeroConfig): OpenAPIHono<{
    Bindings: Bindings;
    Variables: Variables;
}, import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    error?: string | undefined;
                    error_description?: string | undefined;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        };
    };
}, "/error"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        } | {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 400;
        } | {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 500;
        };
    };
}, "/continue"> & 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;
                };
            } & {
                form: Record<string, string>;
            };
            output: {};
            outputFormat: string;
            status: 200;
        } | {
            input: {
                param: {
                    formId: string;
                    nodeId: string;
                };
            } & {
                query: {
                    state: string;
                };
            } & {
                form: Record<string, string>;
            };
            output: {};
            outputFormat: string;
            status: 404;
        };
    };
}, "/forms"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        } | {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 400;
        };
    };
} & {
    "/continue": {
        $post: {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
} & {
    "/switch": {
        $post: {
            input: {
                query: {
                    state: string;
                };
            } & {
                form: {
                    user_id: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        } | {
            input: {
                query: {
                    state: string;
                };
            } & {
                form: {
                    user_id: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 400;
        };
    };
}, "/impersonate"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                    code?: string | undefined;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        };
    };
} & {
    "/": {
        $post: {
            input: {
                query: {
                    state: string;
                };
            } & {
                form: {
                    password: string;
                    "re-enter-password": string;
                    code?: string | undefined;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    state: string;
                };
            } & {
                form: {
                    password: string;
                    "re-enter-password": string;
                    code?: string | undefined;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
}, "/signup"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                    code: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        };
    };
}, "/validate-email"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        };
    };
} & {
    "/": {
        $post: {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        };
    };
}, "/forgot-password"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                    code: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        };
    };
} & {
    "/": {
        $post: {
            input: {
                query: {
                    state: string;
                    code: string;
                };
            } & {
                form: {
                    password: string;
                    "re-enter-password": string;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        };
    };
}, "/reset-password"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        };
    };
}, "/pre-signup-sent"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        };
    };
} & {
    "/": {
        $post: {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        };
    };
}, "/pre-signup"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        };
    };
}, "/invalid-session"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        };
    };
} & {
    "/": {
        $post: {
            input: {
                query: {
                    state: string;
                };
            } & {
                form: {
                    password: string;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    state: string;
                };
            } & {
                form: {
                    password: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
}, "/enter-password"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                    style?: "classic" | "shadcn" | undefined;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        };
    };
} & {
    "/": {
        $post: {
            input: {
                query: {
                    state: string;
                    style?: "classic" | "shadcn" | undefined;
                };
            } & {
                form: {
                    code: string;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    state: string;
                    style?: "classic" | "shadcn" | undefined;
                };
            } & {
                form: {
                    code: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
}, "/login/sms-otp-challenge"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                    style?: "classic" | "shadcn" | undefined;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        };
    };
} & {
    "/": {
        $post: {
            input: {
                query: {
                    state: string;
                    style?: "classic" | "shadcn" | undefined;
                };
            } & {
                form: {
                    code: string;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    state: string;
                    style?: "classic" | "shadcn" | undefined;
                };
            } & {
                form: {
                    code: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
}, "/login/email-otp-challenge"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                    impersonation?: string | undefined;
                    error?: string | undefined;
                    error_description?: string | undefined;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        };
    };
} & {
    "/": {
        $post: {
            input: {
                query: {
                    state: string;
                };
            } & {
                form: {
                    username: string;
                    login_selection?: "code" | "password" | undefined;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        } | {
            input: {
                query: {
                    state: string;
                };
            } & {
                form: {
                    username: string;
                    login_selection?: "code" | "password" | undefined;
                };
            };
            output: {};
            outputFormat: string;
            status: 400;
        };
    };
}, "/login/identifier"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                    email: string;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    state: string;
                    email: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
}, "/account/change-email-confirmation"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                    email: string;
                    change_id: string;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    state: string;
                    email: string;
                    change_id: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
} & {
    "/": {
        $post: {
            input: {
                query: {
                    state: string;
                    email: string;
                    change_id: string;
                };
            } & {
                form: {
                    code: string;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    state: string;
                    email: string;
                    change_id: string;
                };
            } & {
                form: {
                    code: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
}, "/account/change-email-verify"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
} & {
    "/": {
        $post: {
            input: {
                query: {
                    state: string;
                };
            } & {
                form: {
                    email: string;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    state: string;
                };
            } & {
                form: {
                    email: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
}, "/account/change-email"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    state: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
} & {
    "/": {
        $post: {
            input: {
                query: {
                    state: string;
                };
            } & {
                form: {
                    action: "unlink_account";
                    provider?: string | undefined;
                    user_id?: string | undefined;
                    csrf_token?: string | undefined;
                };
            };
            output: Response;
            outputFormat: "json";
            status: import("hono/utils/http-status").StatusCode;
        } | {
            input: {
                query: {
                    state: string;
                };
            } & {
                form: {
                    action: "unlink_account";
                    provider?: string | undefined;
                    user_id?: string | undefined;
                    csrf_token?: string | undefined;
                };
            };
            output: {};
            outputFormat: string;
            status: 302;
        };
    };
}, "/account"> & import("hono/types").MergeSchemaPath<{
    "/": {
        $get: {
            input: {
                query: {
                    state: string;
                    code: string;
                };
            };
            output: {};
            outputFormat: string;
            status: 200;
        };
    };
}, "/info">, "/">;
