"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import google.protobuf.descriptor
import google.protobuf.message
import google.protobuf.wrappers_pb2
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class OpenSearchConfig2(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MAX_CLAUSE_COUNT_FIELD_NUMBER: builtins.int
    FIELDDATA_CACHE_SIZE_FIELD_NUMBER: builtins.int
    REINDEX_REMOTE_WHITELIST_FIELD_NUMBER: builtins.int
    fielddata_cache_size: builtins.str
    """the percentage or absolute value (10%, 512mb) of heap space that is allocated to fielddata"""
    reindex_remote_whitelist: builtins.str
    @property
    def max_clause_count(self) -> google.protobuf.wrappers_pb2.Int64Value:
        """the maximum number of allowed boolean clauses in a query"""

    def __init__(
        self,
        *,
        max_clause_count: google.protobuf.wrappers_pb2.Int64Value | None = ...,
        fielddata_cache_size: builtins.str = ...,
        reindex_remote_whitelist: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["max_clause_count", b"max_clause_count"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["fielddata_cache_size", b"fielddata_cache_size", "max_clause_count", b"max_clause_count", "reindex_remote_whitelist", b"reindex_remote_whitelist"]) -> None: ...

global___OpenSearchConfig2 = OpenSearchConfig2

@typing.final
class OpenSearchConfigSet2(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EFFECTIVE_CONFIG_FIELD_NUMBER: builtins.int
    USER_CONFIG_FIELD_NUMBER: builtins.int
    DEFAULT_CONFIG_FIELD_NUMBER: builtins.int
    @property
    def effective_config(self) -> global___OpenSearchConfig2: ...
    @property
    def user_config(self) -> global___OpenSearchConfig2: ...
    @property
    def default_config(self) -> global___OpenSearchConfig2: ...
    def __init__(
        self,
        *,
        effective_config: global___OpenSearchConfig2 | None = ...,
        user_config: global___OpenSearchConfig2 | None = ...,
        default_config: global___OpenSearchConfig2 | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["default_config", b"default_config", "effective_config", b"effective_config", "user_config", b"user_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["default_config", b"default_config", "effective_config", b"effective_config", "user_config", b"user_config"]) -> None: ...

global___OpenSearchConfigSet2 = OpenSearchConfigSet2
