# Generated by smithplates HTTP codegen. Do not edit.

from __future__ import annotations

from dataclasses import dataclass

import httpx

from generated.petstore.api.petstore.clients.categories_client import CategoriesApiClient
from generated.petstore.api.petstore.clients.health_client import HealthApiClient
from generated.petstore.api.petstore.clients.orders_client import OrdersApiClient
from generated.petstore.api.petstore.clients.pets_client import PetsApiClient


@dataclass(frozen=True)
class ApiClients:
    categories_client: CategoriesApiClient
    health_client: HealthApiClient
    orders_client: OrdersApiClient
    pets_client: PetsApiClient


def create_api_clients(
    client: httpx.AsyncClient,
    *,
    base_url: str,
) -> ApiClients:
    normalized_base_url = base_url.rstrip("/")
    return ApiClients(
        categories_client=CategoriesApiClient(
            client,
            normalized_base_url,
        ),
        health_client=HealthApiClient(
            client,
            normalized_base_url,
        ),
        orders_client=OrdersApiClient(
            client,
            normalized_base_url,
        ),
        pets_client=PetsApiClient(
            client,
            normalized_base_url,
        ),
    )
