"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from .property import Property, PropertyTypedDict
import pydantic
from typing import List, Optional
from typing_extensions import Annotated, NotRequired, TypedDict
from zillow_rapidapi_client.types import BaseModel


class PropertySearchResponseTypedDict(TypedDict):
    props: NotRequired[List[PropertyTypedDict]]
    results_per_page: NotRequired[int]
    total_pages: NotRequired[int]
    total_result_count: NotRequired[int]
    current_page: NotRequired[int]


class PropertySearchResponse(BaseModel):
    props: Optional[List[Property]] = None

    results_per_page: Annotated[
        Optional[int], pydantic.Field(alias="resultsPerPage")
    ] = None

    total_pages: Annotated[Optional[int], pydantic.Field(alias="totalPages")] = None

    total_result_count: Annotated[
        Optional[int], pydantic.Field(alias="totalResultCount")
    ] = None

    current_page: Annotated[Optional[int], pydantic.Field(alias="currentPage")] = None
