# ---------------------------------------------------------
# Do not modify this file. It was generated by `scripts/generate_typed_dicts.py`.
# ---------------------------------------------------------

from typing import (
    Any,
    Awaitable,
    Callable,
    Mapping,
    Optional,
    Sequence,
    TypedDict,
    Union,
)

import anthropic
import anthropic._response
import httpx


class ChatBedrockClientArgs(TypedDict, total=False):
    aws_secret_key: str | None
    aws_access_key: str | None
    aws_region: str | None
    aws_profile: str | None
    aws_session_token: str | None
    api_key: str | None
    base_url: str | httpx.URL | None
    timeout: float | anthropic.Timeout | None | anthropic.NotGiven
    max_retries: int
    default_headers: Optional[Mapping[str, str]]
    default_query: Optional[Mapping[str, object]]
    http_client: httpx.AsyncClient | None
    middleware: Optional[
        Sequence[
            Union[
                anthropic.Middleware,
                Callable[
                    [
                        anthropic.APIRequest,
                        Callable[
                            [anthropic.APIRequest], anthropic._response.APIResponse[Any]
                        ],
                    ],
                    anthropic._response.APIResponse[Any],
                ],
                Callable[
                    [
                        anthropic.APIRequest,
                        Callable[
                            [anthropic.APIRequest],
                            Awaitable[anthropic._response.AsyncAPIResponse[Any]],
                        ],
                    ],
                    Awaitable[anthropic._response.AsyncAPIResponse[Any]],
                ],
            ]
        ]
    ]
    _strict_response_validation: bool
