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

from .basesdk import BaseSDK
from .sdkconfiguration import SDKConfiguration
from panora_sdk.companies import Companies
from panora_sdk.deals import Deals
from panora_sdk.engagements import Engagements
from panora_sdk.notes import Notes
from panora_sdk.panora_contacts import PanoraContacts
from panora_sdk.panora_users import PanoraUsers
from panora_sdk.stages import Stages
from panora_sdk.tasks import Tasks


class Crm(BaseSDK):
    companies: Companies
    contacts: PanoraContacts
    deals: Deals
    engagements: Engagements
    notes: Notes
    stages: Stages
    tasks: Tasks
    users: PanoraUsers

    def __init__(self, sdk_config: SDKConfiguration) -> None:
        BaseSDK.__init__(self, sdk_config)
        self.sdk_configuration = sdk_config
        self._init_sdks()

    def _init_sdks(self):
        self.companies = Companies(self.sdk_configuration)
        self.contacts = PanoraContacts(self.sdk_configuration)
        self.deals = Deals(self.sdk_configuration)
        self.engagements = Engagements(self.sdk_configuration)
        self.notes = Notes(self.sdk_configuration)
        self.stages = Stages(self.sdk_configuration)
        self.tasks = Tasks(self.sdk_configuration)
        self.users = PanoraUsers(self.sdk_configuration)
