"""
ConsumerTag automatically generated by SDKgen please do not edit this file manually
https://sdkgen.app
"""

import requests
import sdkgen
from requests import RequestException
from typing import List
from typing import Dict
from typing import Any
from urllib.parse import parse_qs

from .consumer_account_tag import ConsumerAccountTag
from .consumer_app_tag import ConsumerAppTag
from .consumer_event_tag import ConsumerEventTag
from .consumer_form_tag import ConsumerFormTag
from .consumer_grant_tag import ConsumerGrantTag
from .consumer_identity_tag import ConsumerIdentityTag
from .consumer_log_tag import ConsumerLogTag
from .consumer_page_tag import ConsumerPageTag
from .consumer_payment_tag import ConsumerPaymentTag
from .consumer_plan_tag import ConsumerPlanTag
from .consumer_scope_tag import ConsumerScopeTag
from .consumer_token_tag import ConsumerTokenTag
from .consumer_transaction_tag import ConsumerTransactionTag
from .consumer_webhook_tag import ConsumerWebhookTag

class ConsumerTag(sdkgen.TagAbstract):
    def __init__(self, http_client: requests.Session, parser: sdkgen.Parser):
        super().__init__(http_client, parser)

    def account(self) -> ConsumerAccountTag:
        return ConsumerAccountTag(
            self.http_client,
            self.parser
        )

    def app(self) -> ConsumerAppTag:
        return ConsumerAppTag(
            self.http_client,
            self.parser
        )

    def event(self) -> ConsumerEventTag:
        return ConsumerEventTag(
            self.http_client,
            self.parser
        )

    def form(self) -> ConsumerFormTag:
        return ConsumerFormTag(
            self.http_client,
            self.parser
        )

    def grant(self) -> ConsumerGrantTag:
        return ConsumerGrantTag(
            self.http_client,
            self.parser
        )

    def identity(self) -> ConsumerIdentityTag:
        return ConsumerIdentityTag(
            self.http_client,
            self.parser
        )

    def log(self) -> ConsumerLogTag:
        return ConsumerLogTag(
            self.http_client,
            self.parser
        )

    def page(self) -> ConsumerPageTag:
        return ConsumerPageTag(
            self.http_client,
            self.parser
        )

    def payment(self) -> ConsumerPaymentTag:
        return ConsumerPaymentTag(
            self.http_client,
            self.parser
        )

    def plan(self) -> ConsumerPlanTag:
        return ConsumerPlanTag(
            self.http_client,
            self.parser
        )

    def scope(self) -> ConsumerScopeTag:
        return ConsumerScopeTag(
            self.http_client,
            self.parser
        )

    def token(self) -> ConsumerTokenTag:
        return ConsumerTokenTag(
            self.http_client,
            self.parser
        )

    def transaction(self) -> ConsumerTransactionTag:
        return ConsumerTransactionTag(
            self.http_client,
            self.parser
        )

    def webhook(self) -> ConsumerWebhookTag:
        return ConsumerWebhookTag(
            self.http_client,
            self.parser
        )


