"""
Pydantic schema for Step1CheckEmail component.

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

from typing import Any, Literal

from pydantic import Field

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


class Step1CheckEmailProps(JSONFieldSchema):
    """Props for Step1CheckEmail (email verification) 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")
    success_message: str | None = Field(default=None, alias="successMessage")
    email: str | None = Field(default=None)
    resend_url: str | None = Field(default=None, alias="resendUrl")
    resend_action: str | None = Field(default=None, alias="resendAction")
    headline: str | None = Field(default=None)
    description: str | None = Field(default=None)
    text: str | None = Field(default=None)
    primary_cta_text: str | None = Field(default=None, alias="primaryCtaText")
    primary_cta_url: str | None = Field(default=None, alias="primaryCtaUrl")
    secondary_cta_text: str | None = Field(default=None, alias="secondaryCtaText")
    didnt_receive_text: str | None = Field(default=None, alias="didntReceiveText")
    resend_link_text: str | None = Field(default=None, alias="resendLinkText")
    icon: str | dict[str, Any] | None | None = Field(default=None)
