"""
Pydantic schema for Step1ForgotPassword component.

AUTO-GENERATED FROM ui-manifest.json - DO NOT EDIT MANUALLY
Source: shared-assets/forgot-password/step-1-forgot-password.tsx
Component Path: shared-assets/forgot-password/step-1-forgot-password
"""

from typing import Any, Literal

from pydantic import Field

from lightwave.schema.pydantic.core.base import JSONFieldSchema


class Step1ForgotPasswordProps(JSONFieldSchema):
    """Props for Step1ForgotPassword component"""

    form_action: str | None = Field(default=None, alias="formAction")
    csrf_token: str | None = Field(default=None, alias="csrfToken")
    method: Literal["get", "post"] | None = Field(default=None)
    login_url: str | None = Field(default=None, alias="loginUrl")
    signup_url: str | None = Field(default=None, alias="signupUrl")
    forgot_password_url: str | None = Field(default=None, alias="forgotPasswordUrl")
    home_url: str | None = Field(default=None, alias="homeUrl")
    logo: str | dict[str, Any] | None | None = Field(default=None)
    brand_name: str | None = Field(default=None, alias="brandName")
    errors: dict[str, Any] | None = Field(default=None)
    non_field_errors: list[str] | None = Field(default=None, alias="nonFieldErrors")
    initial_values: dict[str, Any] | None = Field(default=None, alias="initialValues")
    success_message: str | None = Field(default=None, alias="successMessage")
    email: str | None = Field(default=None)
    headline: str | None = Field(default=None)
    subheadline: str | None = Field(default=None)
    submit_button_text: str | None = Field(default=None, alias="submitButtonText")
    email_placeholder: str | None = Field(default=None, alias="emailPlaceholder")
    email_label: str | None = Field(default=None, alias="emailLabel")
    back_to_login_text: str | None = Field(default=None, alias="backToLoginText")
    icon: str | dict[str, Any] | None | None = Field(default=None)
