"""
This type stub file was generated by pyright.
"""

from enum import IntEnum, StrEnum

"""
This type stub file was generated by pyright.
"""

class TLPLevel(StrEnum):
    CLEAR = ...
    GREEN = ...
    AMBER_STRICT = ...
    AMBER = ...
    RED = ...
    _ACCESSIBLE_NAMES = ...
    def get_accessible_levels(self) -> list[str]:
        """
        Return the list of TLPLevel members this level can access.
        """
        ...

    @classmethod
    def get_most_restrictive_tlp(cls, tlp_levels: list[TLPLevel]) -> TLPLevel:
        """
        Get the most restrictive TLP level from a list of TLP levels.
        If the list is empty, return the default TLP level (CLEAR).
        """
        ...

    @classmethod
    def get_tlp_level(cls, tlp_level: str) -> TLPLevel | None: ...

class ItemType(StrEnum):
    OSINT_SOURCE = ...
    OSINT_SOURCE_GROUP = ...
    WORD_LIST = ...
    REPORT_ITEM_TYPE = ...
    PRODUCT_TYPE = ...

class COLLECTOR_TYPES(StrEnum):
    RSS_COLLECTOR = ...
    EMAIL_COLLECTOR = ...
    TWITTER_COLLECTOR = ...
    SIMPLE_WEB_COLLECTOR = ...
    RT_COLLECTOR = ...
    MISP_COLLECTOR = ...
    MANUAL_COLLECTOR = ...
    PPN_COLLECTOR = ...

class BOT_TYPES(StrEnum):
    ANALYST_BOT = ...
    GROUPING_BOT = ...
    NLP_BOT = ...
    IOC_BOT = ...
    TAGGING_BOT = ...
    STORY_BOT = ...
    SUMMARY_BOT = ...
    WORDLIST_BOT = ...
    SENTIMENT_ANALYSIS_BOT = ...
    CYBERSEC_CLASSIFIER_BOT = ...

class PRESENTER_TYPES(StrEnum):
    PANDOC_PRESENTER = ...
    PDF_PRESENTER = ...
    HTML_PRESENTER = ...
    TEXT_PRESENTER = ...
    JSON_PRESENTER = ...
    STIX_PRESENTER = ...

class PUBLISHER_TYPES(StrEnum):
    FTP_PUBLISHER = ...
    SFTP_PUBLISHER = ...
    S3_PUBLISHER = ...
    EMAIL_PUBLISHER = ...
    WORDPRESS_PUBLISHER = ...
    MISP_PUBLISHER = ...
    TAXII_PUBLISHER = ...

class WORKER_TYPES(StrEnum):
    RSS_COLLECTOR = ...
    EMAIL_COLLECTOR = ...
    TWITTER_COLLECTOR = ...
    SIMPLE_WEB_COLLECTOR = ...
    MANUAL_COLLECTOR = ...
    RT_COLLECTOR = ...
    MISP_COLLECTOR = ...
    ANALYST_BOT = ...
    GROUPING_BOT = ...
    NLP_BOT = ...
    IOC_BOT = ...
    TAGGING_BOT = ...
    STORY_BOT = ...
    SUMMARY_BOT = ...
    SENTIMENT_ANALYSIS_BOT = ...
    CYBERSEC_CLASSIFIER_BOT = ...
    WORDLIST_BOT = ...
    PANDOC_PRESENTER = ...
    PDF_PRESENTER = ...
    HTML_PRESENTER = ...
    TEXT_PRESENTER = ...
    JSON_PRESENTER = ...
    STIX_PRESENTER = ...
    FTP_PUBLISHER = ...
    SFTP_PUBLISHER = ...
    S3_PUBLISHER = ...
    EMAIL_PUBLISHER = ...
    WORDPRESS_PUBLISHER = ...
    MISP_PUBLISHER = ...
    TAXII_PUBLISHER = ...
    MISP_CONNECTOR = ...
    PPN_COLLECTOR = ...

class CONNECTOR_TYPES(StrEnum):
    MISP_CONNECTOR = ...

class WORKER_CATEGORY(StrEnum):
    COLLECTOR = ...
    BOT = ...
    PRESENTER = ...
    PUBLISHER = ...
    CONNECTOR = ...

class WordListUsage(IntEnum):
    COLLECTOR_INCLUDELIST = ...
    COLLECTOR_EXCLUDELIST = ...
    TAGGING_BOT = ...

class OSINTState(IntEnum):
    DISABLED = ...
    UNKNOWN = ...
    OK = ...
    ERROR = ...
    NOT_MODIFIED = ...

class AttributeType(StrEnum):
    STRING = ...
    NUMBER = ...
    BOOLEAN = ...
    RADIO = ...
    ENUM = ...
    TEXT = ...
    RICH_TEXT = ...
    DATE = ...
    TIME = ...
    DATE_TIME = ...
    LINK = ...
    ATTACHMENT = ...
    TLP = ...
    CPE = ...
    CVE = ...
    CVSS = ...
    STORY = ...
