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

from __future__ import annotations
from .metadto import MetaDto, MetaDtoTypedDict
from .subscriptiondto import SubscriptionDto, SubscriptionDtoTypedDict
from .subscriptionsdeleteerrordto import (
    SubscriptionsDeleteErrorDto,
    SubscriptionsDeleteErrorDtoTypedDict,
)
from novu_py.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class DeleteTopicSubscriptionsResponseDtoTypedDict(TypedDict):
    data: List[SubscriptionDtoTypedDict]
    r"""The list of successfully deleted subscriptions"""
    meta: MetaDtoTypedDict
    r"""Metadata about the operation"""
    errors: NotRequired[List[SubscriptionsDeleteErrorDtoTypedDict]]
    r"""The list of errors for failed deletion attempts"""


class DeleteTopicSubscriptionsResponseDto(BaseModel):
    data: List[SubscriptionDto]
    r"""The list of successfully deleted subscriptions"""

    meta: MetaDto
    r"""Metadata about the operation"""

    errors: Optional[List[SubscriptionsDeleteErrorDto]] = None
    r"""The list of errors for failed deletion attempts"""
