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

from __future__ import annotations
from .contributionsummary import ContributionSummary, ContributionSummaryTypedDict
from ascend_sdk.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class ListContributionSummariesResponseTypedDict(TypedDict):
    r"""Response object for aggregated contribution retirement summaries"""

    contribution_summaries: NotRequired[List[ContributionSummaryTypedDict]]
    r"""List of contribution amount(s) and rollover amount(s), with their corresponding tax year(s) Entries will be sorted in descending order by tax year  Starting with the current year"""
    next_page_token: NotRequired[str]
    r"""Can be sent as `page_token` in the request to retrieve the next page If this field is omitted, there are no subsequent pages"""


class ListContributionSummariesResponse(BaseModel):
    r"""Response object for aggregated contribution retirement summaries"""

    contribution_summaries: Optional[List[ContributionSummary]] = None
    r"""List of contribution amount(s) and rollover amount(s), with their corresponding tax year(s) Entries will be sorted in descending order by tax year  Starting with the current year"""

    next_page_token: Optional[str] = None
    r"""Can be sent as `page_token` in the request to retrieve the next page If this field is omitted, there are no subsequent pages"""
