"""OGImageResource — sync and async resource classes."""
from __future__ import annotations

from ..._api.client import (
    AsyncBaseResource,
    BaseResource,
    OgimageOgimageAPI,
    OgimageManagedAPI,
    SyncOgimageOgimageAPI,
    SyncOgimageManagedAPI,
)
from ..._config import SDKConfig
from ._mixins import _AsyncOGImageMixin, _OGImageMixin


class OGImageResource(_OGImageMixin, BaseResource):
    """OG Image tool (sync)."""

    def __init__(self, config: SDKConfig) -> None:
        super().__init__(config)
        self._api = SyncOgimageOgimageAPI(self._http_client)
        self._managed_api = SyncOgimageManagedAPI(self._http_client)


class AsyncOGImageResource(_AsyncOGImageMixin, AsyncBaseResource):
    """OG Image tool (async)."""

    def __init__(self, config: SDKConfig) -> None:
        super().__init__(config)
        self._api = OgimageOgimageAPI(self._http_client)
        self._managed_api = OgimageManagedAPI(self._http_client)


__all__ = ["OGImageResource", "AsyncOGImageResource"]
