# This file was auto-generated by Fern from our API Definition. import typing from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from ...core.request_options import RequestOptions from ...types.subscription import Subscription from .raw_client import AsyncRawSubscriptionClient, RawSubscriptionClient class SubscriptionClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._raw_client = RawSubscriptionClient(client_wrapper=client_wrapper) @property def with_raw_response(self) -> RawSubscriptionClient: """ Retrieves a raw implementation of this client that returns raw responses. Returns ------- RawSubscriptionClient """ return self._raw_client def get(self, *, request_options: typing.Optional[RequestOptions] = None) -> Subscription: """ Gets extended information about the users subscription Parameters ---------- request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- Subscription Successful Response Examples -------- from elevenlabs import ElevenLabs client = ElevenLabs( api_key="YOUR_API_KEY", ) client.user.subscription.get() """ _response = self._raw_client.get(request_options=request_options) return _response.data class AsyncSubscriptionClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._raw_client = AsyncRawSubscriptionClient(client_wrapper=client_wrapper) @property def with_raw_response(self) -> AsyncRawSubscriptionClient: """ Retrieves a raw implementation of this client that returns raw responses. Returns ------- AsyncRawSubscriptionClient """ return self._raw_client async def get(self, *, request_options: typing.Optional[RequestOptions] = None) -> Subscription: """ Gets extended information about the users subscription Parameters ---------- request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- Subscription Successful Response Examples -------- import asyncio from elevenlabs import AsyncElevenLabs client = AsyncElevenLabs( api_key="YOUR_API_KEY", ) async def main() -> None: await client.user.subscription.get() asyncio.run(main()) """ _response = await self._raw_client.get(request_options=request_options) return _response.data