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

from __future__ import annotations
from .preference import Preference, PreferenceTypedDict
from .templateresponse import TemplateResponse, TemplateResponseTypedDict
from novu_py.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class GetSubscriberPreferencesResponseDtoTypedDict(TypedDict):
    preference: PreferenceTypedDict
    r"""The preferences of the subscriber regarding the related workflow"""
    template: NotRequired[TemplateResponseTypedDict]
    r"""The workflow information and if it is critical or not"""


class GetSubscriberPreferencesResponseDto(BaseModel):
    preference: Preference
    r"""The preferences of the subscriber regarding the related workflow"""

    template: Optional[TemplateResponse] = None
    r"""The workflow information and if it is critical or not"""
