# -*- coding: utf-8 -*-
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
from vertexai.preview.rag.rag_data import (
    batch_create_data_schemas,
    batch_create_metadata,
    batch_delete_data_schemas,
    batch_delete_metadata,
    create_corpus,
    delete_corpus,
    delete_file,
    get_corpus,
    get_file,
    get_rag_engine_config,
    import_files,
    import_files_async,
    list_corpora,
    list_data_schemas,
    list_files,
    list_metadata,
    update_corpus,
    update_metadata,
    update_rag_engine_config,
    upload_file,
)
from vertexai.preview.rag.rag_retrieval import (
    ask_contexts,
    async_retrieve_contexts,
    retrieval_query,
)
from vertexai.preview.rag.rag_store import (
    Retrieval,
    VertexRagStore,
)
from vertexai.preview.rag.utils.resources import (
    ANN,
    Basic,
    ChunkingConfig,
    DocumentCorpus,
    EmbeddingModelConfig,
    Enterprise,
    Filter,
    HybridSearch,
    JiraQuery,
    JiraSource,
    KNN,
    LayoutParserConfig,
    LlmParserConfig,
    LlmRanker,
    MemoryCorpus,
    MetadataValue,
    Pinecone,
    RagCorpus,
    RagCorpusTypeConfig,
    RagDataSchema,
    RagEmbeddingModelConfig,
    RagEngineConfig,
    RagFile,
    RagManagedDb,
    RagManagedDbConfig,
    RagManagedVertexVectorSearch,
    RagMetadata,
    RagMetadataSchemaDetails,
    RagResource,
    RagRetrievalConfig,
    RagVectorDbConfig,
    RankService,
    Ranking,
    Scaled,
    Serverless,
    SharePointSource,
    SharePointSources,
    SlackChannel,
    SlackChannelsSource,
    Spanner,
    TransformationConfig,
    Unprovisioned,
    UserSpecifiedMetadata,
    VertexAiSearchConfig,
    VertexFeatureStore,
    VertexPredictionEndpoint,
    VertexVectorSearch,
    Weaviate,
)

__all__ = (
    "ANN",
    "Basic",
    "ChunkingConfig",
    "DocumentCorpus",
    "Enterprise",
    "EmbeddingModelConfig",
    "Filter",
    "HybridSearch",
    "JiraQuery",
    "JiraSource",
    "KNN",
    "LayoutParserConfig",
    "LlmParserConfig",
    "LlmRanker",
    "MemoryCorpus",
    "MetadataValue",
    "Pinecone",
    "RagEngineConfig",
    "RagCorpus",
    "RagCorpusTypeConfig",
    "RagDataSchema",
    "RagEmbeddingModelConfig",
    "RagFile",
    "RagManagedDb",
    "RagManagedDbConfig",
    "RagManagedVertexVectorSearch",
    "RagMetadata",
    "RagMetadataSchemaDetails",
    "RagResource",
    "RagRetrievalConfig",
    "RagVectorDbConfig",
    "Ranking",
    "RankService",
    "Retrieval",
    "Scaled",
    "Serverless",
    "SharePointSource",
    "SharePointSources",
    "SlackChannel",
    "SlackChannelsSource",
    "Spanner",
    "TransformationConfig",
    "Unprovisioned",
    "UserSpecifiedMetadata",
    "VertexAiSearchConfig",
    "VertexFeatureStore",
    "VertexPredictionEndpoint",
    "VertexRagStore",
    "VertexVectorSearch",
    "Weaviate",
    "ask_contexts",
    "batch_create_data_schemas",
    "batch_create_metadata",
    "batch_delete_data_schemas",
    "batch_delete_metadata",
    "create_corpus",
    "delete_corpus",
    "delete_file",
    "get_corpus",
    "get_file",
    "import_files",
    "import_files_async",
    "list_corpora",
    "list_data_schemas",
    "list_files",
    "list_metadata",
    "retrieval_query",
    "async_retrieve_contexts",
    "upload_file",
    "update_corpus",
    "update_metadata",
    "update_rag_engine_config",
    "get_rag_engine_config",
)
