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

from __future__ import annotations
from .topicdto import TopicDto, TopicDtoTypedDict
from novu_py.types import BaseModel
import pydantic
from typing import List
from typing_extensions import Annotated, TypedDict


class FilterTopicsResponseDtoTypedDict(TypedDict):
    data: List[TopicDtoTypedDict]
    r"""The list of topics"""
    page: float
    r"""The current page number"""
    page_size: float
    r"""The number of items per page"""
    total_count: float
    r"""The total number of items"""


class FilterTopicsResponseDto(BaseModel):
    data: List[TopicDto]
    r"""The list of topics"""

    page: float
    r"""The current page number"""

    page_size: Annotated[float, pydantic.Field(alias="pageSize")]
    r"""The number of items per page"""

    total_count: Annotated[float, pydantic.Field(alias="totalCount")]
    r"""The total number of items"""
