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

from typing import TYPE_CHECKING
from importlib import import_module

if TYPE_CHECKING:
    from .bulkupsertdocsop import (
        BulkUpsertDocsRequest,
        BulkUpsertDocsRequestBody,
        BulkUpsertDocsRequestBodyTypedDict,
        BulkUpsertDocsRequestTypedDict,
        BulkUpsertDocsResponse,
        BulkUpsertDocsResponseTypedDict,
    )
    from .collectionresponse import CollectionResponse, CollectionResponseTypedDict
    from .createcollectionop import (
        CreateCollectionRequest,
        CreateCollectionRequestBody,
        CreateCollectionRequestBodyTypedDict,
        CreateCollectionRequestTypedDict,
    )
    from .deletecollectionop import (
        DeleteCollectionRequest,
        DeleteCollectionRequestTypedDict,
        DeleteCollectionResponse,
        DeleteCollectionResponseTypedDict,
    )
    from .deletedocsop import (
        DeleteDocsRequest,
        DeleteDocsRequestBody,
        DeleteDocsRequestBodyTypedDict,
        DeleteDocsRequestTypedDict,
        DeleteDocsResponse,
        DeleteDocsResponseTypedDict,
        Filter,
        FilterTypedDict,
    )
    from .fetchdocsop import (
        FetchDocsDoc,
        FetchDocsDocDoc,
        FetchDocsDocDocTypedDict,
        FetchDocsDocTypedDict,
        FetchDocsRequest,
        FetchDocsRequestBody,
        FetchDocsRequestBodyTypedDict,
        FetchDocsRequestTypedDict,
        FetchDocsResponse,
        FetchDocsResponseTypedDict,
    )
    from .getbulkupsertdocsop import (
        GetBulkUpsertDocsRequest,
        GetBulkUpsertDocsRequestTypedDict,
        GetBulkUpsertDocsResponse,
        GetBulkUpsertDocsResponseTypedDict,
        GetBulkUpsertDocsType,
        HTTPMethod,
    )
    from .getcollectionop import GetCollectionRequest, GetCollectionRequestTypedDict
    from .indexconfigs_union import (
        Analyzer,
        IndexConfigs,
        IndexConfigsText,
        IndexConfigsTextTypedDict,
        IndexConfigsTypedDict,
        IndexConfigsUnion,
        IndexConfigsUnionTypedDict,
        IndexConfigsVector,
        IndexConfigsVectorTypedDict,
        Similarity,
        Type,
        TypeText,
        TypeVector,
    )
    from .listcollectionsop import (
        ListCollectionsRequest,
        ListCollectionsRequestTypedDict,
        ListCollectionsResponse,
        ListCollectionsResponseTypedDict,
    )
    from .querycollectionop import (
        Query,
        QueryCollectionDoc,
        QueryCollectionDocDoc,
        QueryCollectionDocDocTypedDict,
        QueryCollectionDocTypedDict,
        QueryCollectionRequest,
        QueryCollectionRequestBody,
        QueryCollectionRequestBodyTypedDict,
        QueryCollectionRequestTypedDict,
        QueryCollectionResponse,
        QueryCollectionResponseTypedDict,
        QueryTypedDict,
        Sort,
        SortTypedDict,
    )
    from .security import Security, SecurityTypedDict
    from .status import Status
    from .updatecollectionop import (
        UpdateCollectionRequest,
        UpdateCollectionRequestBody,
        UpdateCollectionRequestBodyTypedDict,
        UpdateCollectionRequestTypedDict,
    )
    from .updatedocsop import (
        UpdateDocsDoc,
        UpdateDocsDocTypedDict,
        UpdateDocsRequest,
        UpdateDocsRequestBody,
        UpdateDocsRequestBodyTypedDict,
        UpdateDocsRequestTypedDict,
        UpdateDocsResponse,
        UpdateDocsResponseTypedDict,
    )
    from .upsertdocsop import (
        UpsertDocsDoc,
        UpsertDocsDocTypedDict,
        UpsertDocsRequest,
        UpsertDocsRequestBody,
        UpsertDocsRequestBodyTypedDict,
        UpsertDocsRequestTypedDict,
        UpsertDocsResponse,
        UpsertDocsResponseTypedDict,
    )

__all__ = [
    "Analyzer",
    "BulkUpsertDocsRequest",
    "BulkUpsertDocsRequestBody",
    "BulkUpsertDocsRequestBodyTypedDict",
    "BulkUpsertDocsRequestTypedDict",
    "BulkUpsertDocsResponse",
    "BulkUpsertDocsResponseTypedDict",
    "CollectionResponse",
    "CollectionResponseTypedDict",
    "CreateCollectionRequest",
    "CreateCollectionRequestBody",
    "CreateCollectionRequestBodyTypedDict",
    "CreateCollectionRequestTypedDict",
    "DeleteCollectionRequest",
    "DeleteCollectionRequestTypedDict",
    "DeleteCollectionResponse",
    "DeleteCollectionResponseTypedDict",
    "DeleteDocsRequest",
    "DeleteDocsRequestBody",
    "DeleteDocsRequestBodyTypedDict",
    "DeleteDocsRequestTypedDict",
    "DeleteDocsResponse",
    "DeleteDocsResponseTypedDict",
    "FetchDocsDoc",
    "FetchDocsDocDoc",
    "FetchDocsDocDocTypedDict",
    "FetchDocsDocTypedDict",
    "FetchDocsRequest",
    "FetchDocsRequestBody",
    "FetchDocsRequestBodyTypedDict",
    "FetchDocsRequestTypedDict",
    "FetchDocsResponse",
    "FetchDocsResponseTypedDict",
    "Filter",
    "FilterTypedDict",
    "GetBulkUpsertDocsRequest",
    "GetBulkUpsertDocsRequestTypedDict",
    "GetBulkUpsertDocsResponse",
    "GetBulkUpsertDocsResponseTypedDict",
    "GetBulkUpsertDocsType",
    "GetCollectionRequest",
    "GetCollectionRequestTypedDict",
    "HTTPMethod",
    "IndexConfigs",
    "IndexConfigsText",
    "IndexConfigsTextTypedDict",
    "IndexConfigsTypedDict",
    "IndexConfigsUnion",
    "IndexConfigsUnionTypedDict",
    "IndexConfigsVector",
    "IndexConfigsVectorTypedDict",
    "ListCollectionsRequest",
    "ListCollectionsRequestTypedDict",
    "ListCollectionsResponse",
    "ListCollectionsResponseTypedDict",
    "Query",
    "QueryCollectionDoc",
    "QueryCollectionDocDoc",
    "QueryCollectionDocDocTypedDict",
    "QueryCollectionDocTypedDict",
    "QueryCollectionRequest",
    "QueryCollectionRequestBody",
    "QueryCollectionRequestBodyTypedDict",
    "QueryCollectionRequestTypedDict",
    "QueryCollectionResponse",
    "QueryCollectionResponseTypedDict",
    "QueryTypedDict",
    "Security",
    "SecurityTypedDict",
    "Similarity",
    "Sort",
    "SortTypedDict",
    "Status",
    "Type",
    "TypeText",
    "TypeVector",
    "UpdateCollectionRequest",
    "UpdateCollectionRequestBody",
    "UpdateCollectionRequestBodyTypedDict",
    "UpdateCollectionRequestTypedDict",
    "UpdateDocsDoc",
    "UpdateDocsDocTypedDict",
    "UpdateDocsRequest",
    "UpdateDocsRequestBody",
    "UpdateDocsRequestBodyTypedDict",
    "UpdateDocsRequestTypedDict",
    "UpdateDocsResponse",
    "UpdateDocsResponseTypedDict",
    "UpsertDocsDoc",
    "UpsertDocsDocTypedDict",
    "UpsertDocsRequest",
    "UpsertDocsRequestBody",
    "UpsertDocsRequestBodyTypedDict",
    "UpsertDocsRequestTypedDict",
    "UpsertDocsResponse",
    "UpsertDocsResponseTypedDict",
]

_dynamic_imports: dict[str, str] = {
    "BulkUpsertDocsRequest": ".bulkupsertdocsop",
    "BulkUpsertDocsRequestBody": ".bulkupsertdocsop",
    "BulkUpsertDocsRequestBodyTypedDict": ".bulkupsertdocsop",
    "BulkUpsertDocsRequestTypedDict": ".bulkupsertdocsop",
    "BulkUpsertDocsResponse": ".bulkupsertdocsop",
    "BulkUpsertDocsResponseTypedDict": ".bulkupsertdocsop",
    "CollectionResponse": ".collectionresponse",
    "CollectionResponseTypedDict": ".collectionresponse",
    "CreateCollectionRequest": ".createcollectionop",
    "CreateCollectionRequestBody": ".createcollectionop",
    "CreateCollectionRequestBodyTypedDict": ".createcollectionop",
    "CreateCollectionRequestTypedDict": ".createcollectionop",
    "DeleteCollectionRequest": ".deletecollectionop",
    "DeleteCollectionRequestTypedDict": ".deletecollectionop",
    "DeleteCollectionResponse": ".deletecollectionop",
    "DeleteCollectionResponseTypedDict": ".deletecollectionop",
    "DeleteDocsRequest": ".deletedocsop",
    "DeleteDocsRequestBody": ".deletedocsop",
    "DeleteDocsRequestBodyTypedDict": ".deletedocsop",
    "DeleteDocsRequestTypedDict": ".deletedocsop",
    "DeleteDocsResponse": ".deletedocsop",
    "DeleteDocsResponseTypedDict": ".deletedocsop",
    "Filter": ".deletedocsop",
    "FilterTypedDict": ".deletedocsop",
    "FetchDocsDoc": ".fetchdocsop",
    "FetchDocsDocDoc": ".fetchdocsop",
    "FetchDocsDocDocTypedDict": ".fetchdocsop",
    "FetchDocsDocTypedDict": ".fetchdocsop",
    "FetchDocsRequest": ".fetchdocsop",
    "FetchDocsRequestBody": ".fetchdocsop",
    "FetchDocsRequestBodyTypedDict": ".fetchdocsop",
    "FetchDocsRequestTypedDict": ".fetchdocsop",
    "FetchDocsResponse": ".fetchdocsop",
    "FetchDocsResponseTypedDict": ".fetchdocsop",
    "GetBulkUpsertDocsRequest": ".getbulkupsertdocsop",
    "GetBulkUpsertDocsRequestTypedDict": ".getbulkupsertdocsop",
    "GetBulkUpsertDocsResponse": ".getbulkupsertdocsop",
    "GetBulkUpsertDocsResponseTypedDict": ".getbulkupsertdocsop",
    "GetBulkUpsertDocsType": ".getbulkupsertdocsop",
    "HTTPMethod": ".getbulkupsertdocsop",
    "GetCollectionRequest": ".getcollectionop",
    "GetCollectionRequestTypedDict": ".getcollectionop",
    "Analyzer": ".indexconfigs_union",
    "IndexConfigs": ".indexconfigs_union",
    "IndexConfigsText": ".indexconfigs_union",
    "IndexConfigsTextTypedDict": ".indexconfigs_union",
    "IndexConfigsTypedDict": ".indexconfigs_union",
    "IndexConfigsUnion": ".indexconfigs_union",
    "IndexConfigsUnionTypedDict": ".indexconfigs_union",
    "IndexConfigsVector": ".indexconfigs_union",
    "IndexConfigsVectorTypedDict": ".indexconfigs_union",
    "Similarity": ".indexconfigs_union",
    "Type": ".indexconfigs_union",
    "TypeText": ".indexconfigs_union",
    "TypeVector": ".indexconfigs_union",
    "ListCollectionsRequest": ".listcollectionsop",
    "ListCollectionsRequestTypedDict": ".listcollectionsop",
    "ListCollectionsResponse": ".listcollectionsop",
    "ListCollectionsResponseTypedDict": ".listcollectionsop",
    "Query": ".querycollectionop",
    "QueryCollectionDoc": ".querycollectionop",
    "QueryCollectionDocDoc": ".querycollectionop",
    "QueryCollectionDocDocTypedDict": ".querycollectionop",
    "QueryCollectionDocTypedDict": ".querycollectionop",
    "QueryCollectionRequest": ".querycollectionop",
    "QueryCollectionRequestBody": ".querycollectionop",
    "QueryCollectionRequestBodyTypedDict": ".querycollectionop",
    "QueryCollectionRequestTypedDict": ".querycollectionop",
    "QueryCollectionResponse": ".querycollectionop",
    "QueryCollectionResponseTypedDict": ".querycollectionop",
    "QueryTypedDict": ".querycollectionop",
    "Sort": ".querycollectionop",
    "SortTypedDict": ".querycollectionop",
    "Security": ".security",
    "SecurityTypedDict": ".security",
    "Status": ".status",
    "UpdateCollectionRequest": ".updatecollectionop",
    "UpdateCollectionRequestBody": ".updatecollectionop",
    "UpdateCollectionRequestBodyTypedDict": ".updatecollectionop",
    "UpdateCollectionRequestTypedDict": ".updatecollectionop",
    "UpdateDocsDoc": ".updatedocsop",
    "UpdateDocsDocTypedDict": ".updatedocsop",
    "UpdateDocsRequest": ".updatedocsop",
    "UpdateDocsRequestBody": ".updatedocsop",
    "UpdateDocsRequestBodyTypedDict": ".updatedocsop",
    "UpdateDocsRequestTypedDict": ".updatedocsop",
    "UpdateDocsResponse": ".updatedocsop",
    "UpdateDocsResponseTypedDict": ".updatedocsop",
    "UpsertDocsDoc": ".upsertdocsop",
    "UpsertDocsDocTypedDict": ".upsertdocsop",
    "UpsertDocsRequest": ".upsertdocsop",
    "UpsertDocsRequestBody": ".upsertdocsop",
    "UpsertDocsRequestBodyTypedDict": ".upsertdocsop",
    "UpsertDocsRequestTypedDict": ".upsertdocsop",
    "UpsertDocsResponse": ".upsertdocsop",
    "UpsertDocsResponseTypedDict": ".upsertdocsop",
}


def __getattr__(attr_name: str) -> object:
    module_name = _dynamic_imports.get(attr_name)
    if module_name is None:
        raise AttributeError(
            f"No {attr_name} found in _dynamic_imports for module name -> {__name__} "
        )

    try:
        module = import_module(module_name, __package__)
        result = getattr(module, attr_name)
        return result
    except ImportError as e:
        raise ImportError(
            f"Failed to import {attr_name} from {module_name}: {e}"
        ) from e
    except AttributeError as e:
        raise AttributeError(
            f"Failed to get {attr_name} from {module_name}: {e}"
        ) from e


def __dir__():
    lazy_attrs = list(_dynamic_imports.keys())
    return sorted(lazy_attrs)
