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

from __future__ import annotations
from .cobaltstrike_httpconfig import (
    CobaltStrikeHTTPConfig,
    CobaltStrikeHTTPConfigTypedDict,
)
from .cobaltstrike_postex import CobaltStrikePostEx, CobaltStrikePostExTypedDict
from censys_platform.types import BaseModel, Nullable
from typing import Dict, Optional
from typing_extensions import NotRequired, TypedDict


class CobaltStrikeConfigTypedDict(TypedDict):
    cookie_beacon: NotRequired[int]
    crypto_scheme: NotRequired[int]
    dns: NotRequired[bool]
    http_get: NotRequired[CobaltStrikeHTTPConfigTypedDict]
    http_post: NotRequired[CobaltStrikeHTTPConfigTypedDict]
    jitter: NotRequired[int]
    killdate: NotRequired[int]
    post_ex: NotRequired[CobaltStrikePostExTypedDict]
    public_key: NotRequired[str]
    sleep_time: NotRequired[int]
    ssl: NotRequired[bool]
    unknown_bytes: NotRequired[Dict[str, Nullable[str]]]
    unknown_int: NotRequired[Dict[str, int]]
    user_agent: NotRequired[str]
    watermark: NotRequired[int]


class CobaltStrikeConfig(BaseModel):
    cookie_beacon: Optional[int] = None

    crypto_scheme: Optional[int] = None

    dns: Optional[bool] = None

    http_get: Optional[CobaltStrikeHTTPConfig] = None

    http_post: Optional[CobaltStrikeHTTPConfig] = None

    jitter: Optional[int] = None

    killdate: Optional[int] = None

    post_ex: Optional[CobaltStrikePostEx] = None

    public_key: Optional[str] = None

    sleep_time: Optional[int] = None

    ssl: Optional[bool] = None

    unknown_bytes: Optional[Dict[str, Nullable[str]]] = None

    unknown_int: Optional[Dict[str, int]] = None

    user_agent: Optional[str] = None

    watermark: Optional[int] = None
