"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import shared.shared_pb2
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class CustomDataIdentifier(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    REGEX_FIELD_NUMBER: builtins.int
    MAXIMUM_MATCH_DISTANCE_FIELD_NUMBER: builtins.int
    KEYWORDS_FIELD_NUMBER: builtins.int
    IGNORE_WORDS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    description: builtins.str
    regex: builtins.str
    maximum_match_distance: builtins.int
    @property
    def keywords(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def ignore_words(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        description: builtins.str = ...,
        regex: builtins.str = ...,
        maximum_match_distance: builtins.int = ...,
        keywords: collections.abc.Iterable[builtins.str] | None = ...,
        ignore_words: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "ignore_words", b"ignore_words", "keywords", b"keywords", "maximum_match_distance", b"maximum_match_distance", "name", b"name", "regex", b"regex", "resource_info", b"resource_info"]) -> None: ...

global___CustomDataIdentifier = CustomDataIdentifier

@typing_extensions.final
class Macie(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CUSTOM_DATA_IDENTIFIER_FIELD_NUMBER: builtins.int
    FINDINGS_FILTER_FIELD_NUMBER: builtins.int
    SESSION_FIELD_NUMBER: builtins.int
    FINDINGS_FILTER_FINDINGS_FILTER_LIST_ITEM_FIELD_NUMBER: builtins.int
    @property
    def custom_data_identifier(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CustomDataIdentifier]: ...
    @property
    def findings_filter(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FindingsFilter]: ...
    @property
    def session(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Session]: ...
    @property
    def findings_filter_findings_filter_list_item(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FindingsFilterFindingsFilterListItem]: ...
    def __init__(
        self,
        *,
        custom_data_identifier: collections.abc.Iterable[global___CustomDataIdentifier] | None = ...,
        findings_filter: collections.abc.Iterable[global___FindingsFilter] | None = ...,
        session: collections.abc.Iterable[global___Session] | None = ...,
        findings_filter_findings_filter_list_item: collections.abc.Iterable[global___FindingsFilterFindingsFilterListItem] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom_data_identifier", b"custom_data_identifier", "findings_filter", b"findings_filter", "findings_filter_findings_filter_list_item", b"findings_filter_findings_filter_list_item", "session", b"session"]) -> None: ...

global___Macie = Macie

@typing_extensions.final
class FindingsFilterCriterion(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> None: ...

global___FindingsFilterCriterion = FindingsFilterCriterion

@typing_extensions.final
class FindingsFilterFindingCriteria(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CRITERION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def criterion(self) -> global___FindingsFilterCriterion: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        criterion: global___FindingsFilterCriterion | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["criterion", b"criterion", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["criterion", b"criterion", "resource_info", b"resource_info"]) -> None: ...

global___FindingsFilterFindingCriteria = FindingsFilterFindingCriteria

@typing_extensions.final
class FindingsFilter(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    FINDING_CRITERIA_FIELD_NUMBER: builtins.int
    ACTION_FIELD_NUMBER: builtins.int
    POSITION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    description: builtins.str
    @property
    def finding_criteria(self) -> global___FindingsFilterFindingCriteria: ...
    action: builtins.str
    position: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        description: builtins.str = ...,
        finding_criteria: global___FindingsFilterFindingCriteria | None = ...,
        action: builtins.str = ...,
        position: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["finding_criteria", b"finding_criteria", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "description", b"description", "finding_criteria", b"finding_criteria", "name", b"name", "position", b"position", "resource_info", b"resource_info"]) -> None: ...

global___FindingsFilter = FindingsFilter

@typing_extensions.final
class Session(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    FINDING_PUBLISHING_FREQUENCY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    status: builtins.str
    finding_publishing_frequency: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        status: builtins.str = ...,
        finding_publishing_frequency: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["finding_publishing_frequency", b"finding_publishing_frequency", "resource_info", b"resource_info", "status", b"status"]) -> None: ...

global___Session = Session

@typing_extensions.final
class FindingsFilterFindingsFilterListItem(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    id: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        id: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "name", b"name", "resource_info", b"resource_info"]) -> None: ...

global___FindingsFilterFindingsFilterListItem = FindingsFilterFindingsFilterListItem
