import sys
from typing import TYPE_CHECKING, Any, Dict, List, Union

if sys.version_info < (3, 8):
    from typing_extensions import Literal, TypedDict
else:
    from typing import Literal, TypedDict

"""
Automatically generated by ./utils/generate_protocol_types.py
Attention! This file should *not* be modified directly! Instead, use the script to update it.

Last regeneration: 2020-04-07 18:44:29.689341
"""


class AXNode(TypedDict, total=False):
    """
    A node in the accessibility tree.

    Attributes:
        nodeId: Unique identifier for this node.
        ignored: Whether this node is ignored for accessibility
        ignoredReasons: Collection of reasons why this node is hidden.
        role: This `Node`'s role, whether explicit or implicit.
        name: The accessible name for this `Node`.
        description: The accessible description for this `Node`.
        value: The value for this `Node`.
        properties: All other properties
        childIds: IDs for each of this node's child nodes.
        backendDOMNodeId: The backend ID for the associated DOM node, if any.
    """

    nodeId: str
    ignored: bool
    ignoredReasons: List['AXProperty']
    role: 'AXValue'
    name: 'AXValue'
    description: 'AXValue'
    value: 'AXValue'
    properties: List['AXProperty']
    childIds: List[str]
    backendDOMNodeId: int


class AXProperty(TypedDict):
    """
    Attributes:
        name: The name of this property.
        value: The value of this property.
    """

    name: Literal[
        'busy',
        'disabled',
        'editable',
        'focusable',
        'focused',
        'hidden',
        'hiddenRoot',
        'invalid',
        'keyshortcuts',
        'settable',
        'roledescription',
        'live',
        'atomic',
        'relevant',
        'root',
        'autocomplete',
        'hasPopup',
        'level',
        'multiselectable',
        'orientation',
        'multiline',
        'readonly',
        'required',
        'valuemin',
        'valuemax',
        'valuetext',
        'checked',
        'expanded',
        'modal',
        'pressed',
        'selected',
        'activedescendant',
        'controls',
        'describedby',
        'details',
        'errormessage',
        'flowto',
        'labelledby',
        'owns',
    ]
    value: 'AXValue'


class AXRelatedNode(TypedDict, total=False):
    """
    Attributes:
        backendDOMNodeId: The BackendNodeId of the related DOM node.
        idref: The IDRef value provided, if any.
        text: The text alternative of this node in the current context.
    """

    backendDOMNodeId: int
    idref: str
    text: str


class AXValue(TypedDict, total=False):
    """
    A single computed AX property.

    Attributes:
        type: The type of this value.
        value: The computed value of this property.
        relatedNodes: One or more related nodes, if applicable.
        sources: The sources which contributed to the computation of this property.
    """

    type: Literal[
        'boolean',
        'tristate',
        'booleanOrUndefined',
        'idref',
        'idrefList',
        'integer',
        'node',
        'nodeList',
        'number',
        'string',
        'computedString',
        'token',
        'tokenList',
        'domRelation',
        'role',
        'internalRole',
        'valueUndefined',
    ]
    value: Any
    relatedNodes: List['AXRelatedNode']
    # actual: AXValueSource
    sources: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]


class AXValueSource(TypedDict, total=False):
    """
    A single source for a computed AX property.

    Attributes:
        type: What type of source this is.
        value: The value of this property source.
        attribute: The name of the relevant attribute, if any.
        attributeValue: The value of the relevant attribute, if any.
        superseded: Whether this source is superseded by a higher priority source.
        nativeSource: The native markup source for this value, e.g. a <label> element.
        nativeSourceValue: The value, such as a node or node list, of the native source.
        invalid: Whether the value for this property is invalid.
        invalidReason: Reason for the value being invalid, if it is.
    """

    type: Literal['attribute', 'implicit', 'style', 'contents', 'placeholder', 'relatedElement']
    # actual: AXValue
    value: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]
    attribute: str
    # actual: AXValue
    attributeValue: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]
    superseded: bool
    nativeSource: Literal['figcaption', 'label', 'labelfor', 'labelwrapped', 'legend', 'tablecaption', 'title', 'other']
    # actual: AXValue
    nativeSourceValue: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]
    invalid: bool
    invalidReason: str


class Animation(TypedDict, total=False):
    """
    Animation instance.

    Attributes:
        id: `Animation`'s id.
        name: `Animation`'s name.
        pausedState: `Animation`'s internal paused state.
        playState: `Animation`'s play state.
        playbackRate: `Animation`'s playback rate.
        startTime: `Animation`'s start time.
        currentTime: `Animation`'s current time.
        type: Animation type of `Animation`.
        source: `Animation`'s source animation node.
        cssId: A unique ID for `Animation` representing the sources that triggered this CSS
            animation/transition.
    """

    id: str
    name: str
    pausedState: bool
    playState: str
    playbackRate: float
    startTime: float
    currentTime: float
    type: Literal['CSSTransition', 'CSSAnimation', 'WebAnimation']
    source: 'AnimationEffect'
    cssId: str


class AnimationEffect(TypedDict, total=False):
    """
    AnimationEffect instance

    Attributes:
        delay: `AnimationEffect`'s delay.
        endDelay: `AnimationEffect`'s end delay.
        iterationStart: `AnimationEffect`'s iteration start.
        iterations: `AnimationEffect`'s iterations.
        duration: `AnimationEffect`'s iteration duration.
        direction: `AnimationEffect`'s playback direction.
        fill: `AnimationEffect`'s fill mode.
        backendNodeId: `AnimationEffect`'s target node.
        keyframesRule: `AnimationEffect`'s keyframes.
        easing: `AnimationEffect`'s timing function.
    """

    delay: float
    endDelay: float
    iterationStart: float
    iterations: float
    duration: float
    direction: str
    fill: str
    backendNodeId: int
    keyframesRule: 'KeyframesRule'
    easing: str


class AppManifestError(TypedDict):
    """
    Error while paring app manifest.

    Attributes:
        message: Error message.
        critical: If criticial, this is a non-recoverable parse error.
        line: Error line.
        column: Error column.
    """

    message: str
    critical: int
    line: int
    column: int


class ApplicationCache(TypedDict):
    """
    Detailed application cache information.

    Attributes:
        manifestURL: Manifest URL.
        size: Application cache size.
        creationTime: Application cache creation time.
        updateTime: Application cache update time.
        resources: Application cache resources.
    """

    manifestURL: str
    size: float
    creationTime: float
    updateTime: float
    resources: List['ApplicationCacheResource']


class ApplicationCacheResource(TypedDict):
    """
    Detailed application cache resource information.

    Attributes:
        url: Resource url.
        size: Resource size.
        type: Resource type.
    """

    url: str
    size: int
    type: str


class AudioListener(TypedDict):
    """
    Protocol object for AudioListner

    """

    listenerId: str
    contextId: str


class AudioNode(TypedDict):
    """
    Protocol object for AudioNode

    """

    nodeId: str
    contextId: str
    nodeType: str
    numberOfInputs: float
    numberOfOutputs: float
    channelCount: float
    channelCountMode: Literal['clamped-max', 'explicit', 'max']
    channelInterpretation: Literal['discrete', 'speakers']


class AudioParam(TypedDict):
    """
    Protocol object for AudioParam

    """

    paramId: str
    nodeId: str
    contextId: str
    paramType: str
    rate: Literal['a-rate', 'k-rate']
    defaultValue: float
    minValue: float
    maxValue: float


class AuthChallenge(TypedDict, total=False):
    """
    Authorization challenge for HTTP status code 401 or 407.

    Attributes:
        source: Source of the authentication challenge.
        origin: Origin of the challenger.
        scheme: The authentication scheme used, such as basic or digest
        realm: The realm of the challenge. May be empty.
    """

    source: Literal['Server', 'Proxy']
    origin: str
    scheme: str
    realm: str


class AuthChallengeResponse(TypedDict, total=False):
    """
    Response to an AuthChallenge.

    Attributes:
        response: The decision on what to do in response to the authorization challenge.  Default means
            deferring to the default behavior of the net stack, which will likely either the Cancel
            authentication or display a popup dialog box.
        username: The username to provide, possibly empty. Should only be set if response is
            ProvideCredentials.
        password: The password to provide, possibly empty. Should only be set if response is
            ProvideCredentials.
    """

    response: Literal['Default', 'CancelAuth', 'ProvideCredentials']
    username: str
    password: str


class BackendNode(TypedDict):
    """
    Backend node with a friendly name.

    Attributes:
        nodeType: `Node`'s nodeType.
        nodeName: `Node`'s nodeName.
    """

    nodeType: int
    nodeName: str
    backendNodeId: int


class BackgroundServiceEvent(TypedDict):
    """
    Attributes:
        timestamp: Timestamp of the event (in seconds).
        origin: The origin this event belongs to.
        serviceWorkerRegistrationId: The Service Worker ID that initiated the event.
        service: The Background Service this event belongs to.
        eventName: A description of the event.
        instanceId: An identifier that groups related events together.
        eventMetadata: A list of event-specific information.
    """

    timestamp: float
    origin: str
    serviceWorkerRegistrationId: str
    service: Literal[
        'backgroundFetch',
        'backgroundSync',
        'pushMessaging',
        'notifications',
        'paymentHandler',
        'periodicBackgroundSync',
    ]
    eventName: str
    instanceId: str
    eventMetadata: List['EventMetadata']


class BaseAudioContext(TypedDict, total=False):
    """
    Protocol object for BaseAudioContext

    Attributes:
        callbackBufferSize: Platform-dependent callback buffer size.
        maxOutputChannelCount: Number of output channels supported by audio hardware in use.
        sampleRate: Context sample rate.
    """

    contextId: str
    contextType: Literal['realtime', 'offline']
    contextState: Literal['suspended', 'running', 'closed']
    realtimeData: 'ContextRealtimeData'
    callbackBufferSize: float
    maxOutputChannelCount: float
    sampleRate: float


class BlockedCookieWithReason(TypedDict):
    """
    A cookie with was not sent with a request with the corresponding reason.

    Attributes:
        blockedReasons: The reason(s) the cookie was blocked.
        cookie: The cookie object representing the cookie which was not sent.
    """

    blockedReasons: List[
        Literal[
            'SecureOnly',
            'NotOnPath',
            'DomainMismatch',
            'SameSiteStrict',
            'SameSiteLax',
            'SameSiteUnspecifiedTreatedAsLax',
            'SameSiteNoneInsecure',
            'UserPreferences',
            'UnknownError',
        ]
    ]
    cookie: 'Cookie'


class BlockedSetCookieWithReason(TypedDict, total=False):
    """
    A cookie which was not stored from a response with the corresponding reason.

    Attributes:
        blockedReasons: The reason(s) this cookie was blocked.
        cookieLine: The string representing this individual cookie as it would appear in the header.
            This is not the entire "cookie" or "set-cookie" header which could have multiple cookies.
        cookie: The cookie object which represents the cookie which was not stored. It is optional because
            sometimes complete cookie information is not available, such as in the case of parsing
            errors.
    """

    blockedReasons: List[
        Literal[
            'SecureOnly',
            'SameSiteStrict',
            'SameSiteLax',
            'SameSiteUnspecifiedTreatedAsLax',
            'SameSiteNoneInsecure',
            'UserPreferences',
            'SyntaxError',
            'SchemeNotSupported',
            'OverwriteSecure',
            'InvalidDomain',
            'InvalidPrefix',
            'UnknownError',
        ]
    ]
    cookieLine: str
    cookie: 'Cookie'


class Bounds(TypedDict, total=False):
    """
    Browser window bounds information

    Attributes:
        left: The offset from the left edge of the screen to the window in pixels.
        top: The offset from the top edge of the screen to the window in pixels.
        width: The window width in pixels.
        height: The window height in pixels.
        windowState: The window state. Default to normal.
    """

    left: int
    top: int
    width: int
    height: int
    windowState: Literal['normal', 'minimized', 'maximized', 'fullscreen']


class BoxModel(TypedDict, total=False):
    """
    Box model.

    Attributes:
        content: Content box
        padding: Padding box
        border: Border box
        margin: Margin box
        width: Node width
        height: Node height
        shapeOutside: Shape outside coordinates
    """

    content: List[float]
    padding: List[float]
    border: List[float]
    margin: List[float]
    width: int
    height: int
    shapeOutside: 'ShapeOutsideInfo'


class BreakLocation(TypedDict, total=False):
    """
    Attributes:
        scriptId: Script identifier as reported in the `Debugger.scriptParsed`.
        lineNumber: Line number in the script (0-based).
        columnNumber: Column number in the script (0-based).
    """

    scriptId: str
    lineNumber: int
    columnNumber: int
    type: Literal['debuggerStatement', 'call', 'return']


class Bucket(TypedDict):
    """
    Chrome histogram bucket.

    Attributes:
        low: Minimum value (inclusive).
        high: Maximum value (exclusive).
        count: Number of samples.
    """

    low: int
    high: int
    count: int


class CSSComputedStyleProperty(TypedDict):
    """
    Attributes:
        name: Computed style property name.
        value: Computed style property value.
    """

    name: str
    value: str


class CSSKeyframeRule(TypedDict, total=False):
    """
    CSS keyframe rule representation.

    Attributes:
        styleSheetId: The css style sheet identifier (absent for user agent stylesheet and user-specified
            stylesheet rules) this rule came from.
        origin: Parent stylesheet's origin.
        keyText: Associated key text.
        style: Associated style declaration.
    """

    styleSheetId: str
    origin: Literal['injected', 'user-agent', 'inspector', 'regular']
    keyText: 'Value'
    style: 'CSSStyle'


class CSSKeyframesRule(TypedDict):
    """
    CSS keyframes rule representation.

    Attributes:
        animationName: Animation name.
        keyframes: List of keyframes.
    """

    animationName: 'Value'
    keyframes: List['CSSKeyframeRule']


class CSSMedia(TypedDict, total=False):
    """
    CSS media rule descriptor.

    Attributes:
        text: Media query text.
        source: Source of the media query: "mediaRule" if specified by a @media rule, "importRule" if
            specified by an @import rule, "linkedSheet" if specified by a "media" attribute in a linked
            stylesheet's LINK tag, "inlineSheet" if specified by a "media" attribute in an inline
            stylesheet's STYLE tag.
        sourceURL: URL of the document containing the media query description.
        range: The associated rule (@media or @import) header range in the enclosing stylesheet (if
            available).
        styleSheetId: Identifier of the stylesheet containing this object (if exists).
        mediaList: Array of media queries.
    """

    text: str
    source: Literal['mediaRule', 'importRule', 'linkedSheet', 'inlineSheet']
    sourceURL: str
    range: 'SourceRange'
    styleSheetId: str
    mediaList: List['MediaQuery']


class CSSProperty(TypedDict, total=False):
    """
    CSS property declaration data.

    Attributes:
        name: The property name.
        value: The property value.
        important: Whether the property has "!important" annotation (implies `false` if absent).
        implicit: Whether the property is implicit (implies `false` if absent).
        text: The full property text as specified in the style.
        parsedOk: Whether the property is understood by the browser (implies `true` if absent).
        disabled: Whether the property is disabled by the user (present for source-based properties only).
        range: The entire property range in the enclosing style declaration (if available).
    """

    name: str
    value: str
    important: bool
    implicit: bool
    text: str
    parsedOk: bool
    disabled: bool
    range: 'SourceRange'


class CSSRule(TypedDict, total=False):
    """
    CSS rule representation.

    Attributes:
        styleSheetId: The css style sheet identifier (absent for user agent stylesheet and user-specified
            stylesheet rules) this rule came from.
        selectorList: Rule selector data.
        origin: Parent stylesheet's origin.
        style: Associated style declaration.
        media: Media list array (for rules involving media queries). The array enumerates media queries
            starting with the innermost one, going outwards.
    """

    styleSheetId: str
    selectorList: 'SelectorList'
    origin: Literal['injected', 'user-agent', 'inspector', 'regular']
    style: 'CSSStyle'
    media: List['CSSMedia']


class CSSStyle(TypedDict, total=False):
    """
    CSS style representation.

    Attributes:
        styleSheetId: The css style sheet identifier (absent for user agent stylesheet and user-specified
            stylesheet rules) this rule came from.
        cssProperties: CSS properties in the style.
        shorthandEntries: Computed values for all shorthands found in the style.
        cssText: Style declaration text (if available).
        range: Style declaration range in the enclosing stylesheet (if available).
    """

    styleSheetId: str
    cssProperties: List['CSSProperty']
    shorthandEntries: List['ShorthandEntry']
    cssText: str
    range: 'SourceRange'


class CSSStyleSheetHeader(TypedDict, total=False):
    """
    CSS stylesheet metainformation.

    Attributes:
        styleSheetId: The stylesheet identifier.
        frameId: Owner frame identifier.
        sourceURL: Stylesheet resource URL.
        sourceMapURL: URL of source map associated with the stylesheet (if any).
        origin: Stylesheet origin.
        title: Stylesheet title.
        ownerNode: The backend id for the owner node of the stylesheet.
        disabled: Denotes whether the stylesheet is disabled.
        hasSourceURL: Whether the sourceURL field value comes from the sourceURL comment.
        isInline: Whether this stylesheet is created for STYLE tag by parser. This flag is not set for
            document.written STYLE tags.
        startLine: Line offset of the stylesheet within the resource (zero based).
        startColumn: Column offset of the stylesheet within the resource (zero based).
        length: Size of the content (in characters).
        endLine: Line offset of the end of the stylesheet within the resource (zero based).
        endColumn: Column offset of the end of the stylesheet within the resource (zero based).
    """

    styleSheetId: str
    frameId: str
    sourceURL: str
    sourceMapURL: str
    origin: Literal['injected', 'user-agent', 'inspector', 'regular']
    title: str
    ownerNode: int
    disabled: bool
    hasSourceURL: bool
    isInline: bool
    startLine: float
    startColumn: float
    length: float
    endLine: float
    endColumn: float


class Cache(TypedDict):
    """
    Cache identifier.

    Attributes:
        cacheId: An opaque unique id of the cache.
        securityOrigin: Security origin of the cache.
        cacheName: The name of the cache.
    """

    cacheId: str
    securityOrigin: str
    cacheName: str


class CachedResource(TypedDict, total=False):
    """
    Information about the cached resource.

    Attributes:
        url: Resource URL. This is the url of the original network request.
        type: Type of this resource.
        response: Cached response data.
        bodySize: Cached response body size.
    """

    url: str
    type: Literal[
        'Document',
        'Stylesheet',
        'Image',
        'Media',
        'Font',
        'Script',
        'TextTrack',
        'XHR',
        'Fetch',
        'EventSource',
        'WebSocket',
        'Manifest',
        'SignedExchange',
        'Ping',
        'CSPViolationReport',
        'Other',
    ]
    response: 'Response'
    bodySize: float


class CachedResponse(TypedDict):
    """
    Cached response

    Attributes:
        body: Entry content, base64-encoded.
    """

    body: bytes


class CallArgument(TypedDict, total=False):
    """
    Represents function call argument. Either remote object id `objectId`, primitive `value`,
    unserializable primitive value or neither of (for undefined) them should be specified.

    Attributes:
        value: Primitive value or serializable javascript object.
        unserializableValue: Primitive value which can not be JSON-stringified.
        objectId: Remote object handle.
    """

    value: Any
    unserializableValue: str
    objectId: str


class CallFrame(TypedDict):
    """
    Stack entry for runtime errors and assertions.

    Attributes:
        functionName: JavaScript function name.
        scriptId: JavaScript script id.
        url: JavaScript script name or url.
        lineNumber: JavaScript script line number (0-based).
        columnNumber: JavaScript script column number (0-based).
    """

    functionName: str
    scriptId: str
    url: str
    lineNumber: int
    columnNumber: int


class CertificateSecurityState(TypedDict, total=False):
    """
    Details about the security state of the page certificate.

    Attributes:
        protocol: Protocol name (e.g. "TLS 1.2" or "QUIC").
        keyExchange: Key Exchange used by the connection, or the empty string if not applicable.
        keyExchangeGroup: (EC)DH group used by the connection, if applicable.
        cipher: Cipher name.
        mac: TLS MAC. Note that AEAD ciphers do not have separate MACs.
        certificate: Page certificate.
        subjectName: Certificate subject name.
        issuer: Name of the issuing CA.
        validFrom: Certificate valid from date.
        validTo: Certificate valid to (expiration) date
        certificateNetworkError: The highest priority network error code, if the certificate has an error.
        certificateHasWeakSignature: True if the certificate uses a weak signature aglorithm.
        certificateHasSha1Signature: True if the certificate has a SHA1 signature in the chain.
        modernSSL: True if modern SSL
        obsoleteSslProtocol: True if the connection is using an obsolete SSL protocol.
        obsoleteSslKeyExchange: True if the connection is using an obsolete SSL key exchange.
        obsoleteSslCipher: True if the connection is using an obsolete SSL cipher.
        obsoleteSslSignature: True if the connection is using an obsolete SSL signature.
    """

    protocol: str
    keyExchange: str
    keyExchangeGroup: str
    cipher: str
    mac: str
    certificate: List[str]
    subjectName: str
    issuer: str
    validFrom: float
    validTo: float
    certificateNetworkError: str
    certificateHasWeakSignature: bool
    certificateHasSha1Signature: bool
    modernSSL: bool
    obsoleteSslProtocol: bool
    obsoleteSslKeyExchange: bool
    obsoleteSslCipher: bool
    obsoleteSslSignature: bool


class ComputedStyle(TypedDict):
    """
    A subset of the full ComputedStyle as defined by the request whitelist.

    Attributes:
        properties: Name/value pairs of computed style properties.
    """

    properties: List['NameValue']


class ConsoleMessage(TypedDict, total=False):
    """
    Console message.

    Attributes:
        source: Message source.
        level: Message severity.
        text: Message text.
        url: URL of the message origin.
        line: Line number in the resource that generated this message (1-based).
        column: Column number in the resource that generated this message (1-based).
    """

    source: Literal[
        'xml',
        'javascript',
        'network',
        'console-api',
        'storage',
        'appcache',
        'rendering',
        'security',
        'other',
        'deprecation',
        'worker',
    ]
    level: Literal['log', 'warning', 'error', 'debug', 'info']
    text: str
    url: str
    line: int
    column: int


class ContextRealtimeData(TypedDict):
    """
    Fields in AudioContext that change in real-time.

    Attributes:
        currentTime: The current context time in second in BaseAudioContext.
        renderCapacity: The time spent on rendering graph divided by render qunatum duration,
            and multiplied by 100. 100 means the audio renderer reached the full
            capacity and glitch may occur.
        callbackIntervalMean: A running mean of callback interval.
        callbackIntervalVariance: A running variance of callback interval.
    """

    currentTime: float
    renderCapacity: float
    callbackIntervalMean: float
    callbackIntervalVariance: float


class Cookie(TypedDict, total=False):
    """
    Cookie object

    Attributes:
        name: Cookie name.
        value: Cookie value.
        domain: Cookie domain.
        path: Cookie path.
        expires: Cookie expiration date as the number of seconds since the UNIX epoch.
        size: Cookie size.
        httpOnly: True if cookie is http-only.
        secure: True if cookie is secure.
        session: True in case of session cookie.
        sameSite: Cookie SameSite type.
    """

    name: str
    value: str
    domain: str
    path: str
    expires: float
    size: int
    httpOnly: bool
    secure: bool
    session: bool
    sameSite: Literal['Strict', 'Lax', 'None']


class CookieParam(TypedDict, total=False):
    """
    Cookie parameter object

    Attributes:
        name: Cookie name.
        value: Cookie value.
        url: The request-URI to associate with the setting of the cookie. This value can affect the
            default domain and path values of the created cookie.
        domain: Cookie domain.
        path: Cookie path.
        secure: True if cookie is secure.
        httpOnly: True if cookie is http-only.
        sameSite: Cookie SameSite type.
        expires: Cookie expiration date, session cookie if not set
    """

    name: str
    value: str
    url: str
    domain: str
    path: str
    secure: bool
    httpOnly: bool
    sameSite: Literal['Strict', 'Lax', 'None']
    expires: float


class CounterInfo(TypedDict):
    """
    Collected counter information.

    Attributes:
        name: Counter name.
        value: Counter value.
    """

    name: str
    value: int


class CoverageRange(TypedDict):
    """
    Coverage data for a source range.

    Attributes:
        startOffset: JavaScript script source offset for the range start.
        endOffset: JavaScript script source offset for the range end.
        count: Collected execution count of the source range.
    """

    startOffset: int
    endOffset: int
    count: int


class Credential(TypedDict, total=False):
    """
    Attributes:
        rpId: Relying Party ID the credential is scoped to. Must be set when adding a
            credential.
        privateKey: The ECDSA P-256 private key in PKCS#8 format.
        userHandle: An opaque byte sequence with a maximum size of 64 bytes mapping the
            credential to a specific user.
        signCount: Signature counter. This is incremented by one for each successful
            assertion.
            See https://w3c.github.io/webauthn/#signature-counter
    """

    credentialId: bytes
    isResidentCredential: bool
    rpId: str
    privateKey: bytes
    userHandle: bytes
    signCount: int


class CustomPreview(TypedDict, total=False):
    """
    Attributes:
        header: The JSON-stringified result of formatter.header(object, config) call.
            It contains json ML array that represents RemoteObject.
        bodyGetterId: If formatter returns true as a result of formatter.hasBody call then bodyGetterId will
            contain RemoteObjectId for the function that returns result of formatter.body(object, config) call.
            The result value is json ML array.
    """

    header: str
    bodyGetterId: str


class DOMNode(TypedDict, total=False):
    """
    A Node in the DOM tree.

    Attributes:
        nodeType: `Node`'s nodeType.
        nodeName: `Node`'s nodeName.
        nodeValue: `Node`'s nodeValue.
        textValue: Only set for textarea elements, contains the text value.
        inputValue: Only set for input elements, contains the input's associated text value.
        inputChecked: Only set for radio and checkbox input elements, indicates if the element has been checked
        optionSelected: Only set for option elements, indicates if the element has been selected
        backendNodeId: `Node`'s id, corresponds to DOM.Node.backendNodeId.
        childNodeIndexes: The indexes of the node's child nodes in the `domNodes` array returned by `getSnapshot`, if
            any.
        attributes: Attributes of an `Element` node.
        pseudoElementIndexes: Indexes of pseudo elements associated with this node in the `domNodes` array returned by
            `getSnapshot`, if any.
        layoutNodeIndex: The index of the node's related layout tree node in the `layoutTreeNodes` array returned by
            `getSnapshot`, if any.
        documentURL: Document URL that `Document` or `FrameOwner` node points to.
        baseURL: Base URL that `Document` or `FrameOwner` node uses for URL completion.
        contentLanguage: Only set for documents, contains the document's content language.
        documentEncoding: Only set for documents, contains the document's character set encoding.
        publicId: `DocumentType` node's publicId.
        systemId: `DocumentType` node's systemId.
        frameId: Frame ID for frame owner elements and also for the document node.
        contentDocumentIndex: The index of a frame owner element's content document in the `domNodes` array returned by
            `getSnapshot`, if any.
        pseudoType: Type of a pseudo element node.
        shadowRootType: Shadow root type.
        isClickable: Whether this DOM node responds to mouse clicks. This includes nodes that have had click
            event listeners attached via JavaScript as well as anchor tags that naturally navigate when
            clicked.
        eventListeners: Details of the node's event listeners, if any.
        currentSourceURL: The selected url for nodes with a srcset attribute.
        originURL: The url of the script (if any) that generates this node.
        scrollOffsetX: Scroll offsets, set when this node is a Document.
    """

    nodeType: int
    nodeName: str
    nodeValue: str
    textValue: str
    inputValue: str
    inputChecked: bool
    optionSelected: bool
    backendNodeId: int
    childNodeIndexes: List[int]
    attributes: List['NameValue']
    pseudoElementIndexes: List[int]
    layoutNodeIndex: int
    documentURL: str
    baseURL: str
    contentLanguage: str
    documentEncoding: str
    publicId: str
    systemId: str
    frameId: str
    contentDocumentIndex: int
    pseudoType: Literal[
        'first-line',
        'first-letter',
        'before',
        'after',
        'backdrop',
        'selection',
        'first-line-inherited',
        'scrollbar',
        'scrollbar-thumb',
        'scrollbar-button',
        'scrollbar-track',
        'scrollbar-track-piece',
        'scrollbar-corner',
        'resizer',
        'input-list-button',
    ]
    shadowRootType: Literal['user-agent', 'open', 'closed']
    isClickable: bool
    eventListeners: List['EventListener']
    currentSourceURL: str
    originURL: str
    scrollOffsetX: float
    scrollOffsetY: float


class DataEntry(TypedDict):
    """
    Data entry.

    Attributes:
        key: Key object.
        primaryKey: Primary key object.
        value: Value object.
    """

    key: 'RemoteObject'
    primaryKey: 'RemoteObject'
    value: 'RemoteObject'


class Database(TypedDict):
    """
    Database object.

    Attributes:
        id: Database ID.
        domain: Database domain.
        name: Database name.
        version: Database version.
    """

    id: str
    domain: str
    name: str
    version: str


class DatabaseWithObjectStores(TypedDict):
    """
    Database with an array of object stores.

    Attributes:
        name: Database name.
        version: Database version (type is not 'integer', as the standard
            requires the version number to be 'unsigned long long')
        objectStores: Object stores in this database.
    """

    name: str
    version: float
    objectStores: List['ObjectStore']


class DocumentSnapshot(TypedDict, total=False):
    """
    Document snapshot.

    Attributes:
        documentURL: Document URL that `Document` or `FrameOwner` node points to.
        title: Document title.
        baseURL: Base URL that `Document` or `FrameOwner` node uses for URL completion.
        contentLanguage: Contains the document's content language.
        encodingName: Contains the document's character set encoding.
        publicId: `DocumentType` node's publicId.
        systemId: `DocumentType` node's systemId.
        frameId: Frame ID for frame owner elements and also for the document node.
        nodes: A table with dom nodes.
        layout: The nodes in the layout tree.
        textBoxes: The post-layout inline text nodes.
        scrollOffsetX: Horizontal scroll offset.
        scrollOffsetY: Vertical scroll offset.
        contentWidth: Document content width.
        contentHeight: Document content height.
    """

    documentURL: int
    title: int
    baseURL: int
    contentLanguage: int
    encodingName: int
    publicId: int
    systemId: int
    frameId: int
    nodes: 'NodeTreeSnapshot'
    layout: 'LayoutTreeSnapshot'
    textBoxes: 'TextBoxSnapshot'
    scrollOffsetX: float
    scrollOffsetY: float
    contentWidth: float
    contentHeight: float


class Domain(TypedDict):
    """
    Description of the protocol domain.

    Attributes:
        name: Domain name.
        version: Domain version.
    """

    name: str
    version: str


class EntryPreview(TypedDict, total=False):
    """
    Attributes:
        key: Preview of the key. Specified for map-like collection entries.
        value: Preview of the value.
    """

    # actual: ObjectPreview
    key: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]
    # actual: ObjectPreview
    value: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]


class Error(TypedDict):
    """
    Database error.

    Attributes:
        message: Error message.
        code: Error code.
    """

    message: str
    code: int


class EventListener(TypedDict, total=False):
    """
    Object event listener.

    Attributes:
        type: `EventListener`'s type.
        useCapture: `EventListener`'s useCapture.
        passive: `EventListener`'s passive flag.
        once: `EventListener`'s once flag.
        scriptId: Script id of the handler code.
        lineNumber: Line number in the script (0-based).
        columnNumber: Column number in the script (0-based).
        handler: Event handler function value.
        originalHandler: Event original handler function value.
        backendNodeId: Node the listener is added to (if any).
    """

    type: str
    useCapture: bool
    passive: bool
    once: bool
    scriptId: str
    lineNumber: int
    columnNumber: int
    handler: 'RemoteObject'
    originalHandler: 'RemoteObject'
    backendNodeId: int


class EventMetadata(TypedDict):
    """
    A key-value pair for additional event information to pass along.

    """

    key: str
    value: str


class ExceptionDetails(TypedDict, total=False):
    """
    Detailed information about exception (or error) that was thrown during script compilation or
    execution.

    Attributes:
        exceptionId: Exception id.
        text: Exception text, which should be used together with exception object when available.
        lineNumber: Line number of the exception location (0-based).
        columnNumber: Column number of the exception location (0-based).
        scriptId: Script ID of the exception location.
        url: URL of the exception location, to be used when the script was not reported.
        stackTrace: JavaScript stack trace if available.
        exception: Exception object if available.
        executionContextId: Identifier of the context where exception happened.
    """

    exceptionId: int
    text: str
    lineNumber: int
    columnNumber: int
    scriptId: str
    url: str
    stackTrace: 'StackTrace'
    exception: 'RemoteObject'
    executionContextId: int


class ExecutionContextDescription(TypedDict, total=False):
    """
    Description of an isolated world.

    Attributes:
        id: Unique id of the execution context. It can be used to specify in which execution context
            script evaluation should be performed.
        origin: Execution context origin.
        name: Human readable name describing given context.
        auxData: Embedder-specific auxiliary data.
    """

    id: int
    origin: str
    name: str
    auxData: Dict[str, str]


class FontFace(TypedDict):
    """
    Properties of a web font: https://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-descriptions

    Attributes:
        fontFamily: The font-family.
        fontStyle: The font-style.
        fontVariant: The font-variant.
        fontWeight: The font-weight.
        fontStretch: The font-stretch.
        unicodeRange: The unicode-range.
        src: The src.
        platformFontFamily: The resolved platform font family
    """

    fontFamily: str
    fontStyle: str
    fontVariant: str
    fontWeight: str
    fontStretch: str
    unicodeRange: str
    src: str
    platformFontFamily: str


class FontFamilies(TypedDict, total=False):
    """
    Generic font families collection.

    Attributes:
        standard: The standard font-family.
        fixed: The fixed font-family.
        serif: The serif font-family.
        sansSerif: The sansSerif font-family.
        cursive: The cursive font-family.
        fantasy: The fantasy font-family.
        pictograph: The pictograph font-family.
    """

    standard: str
    fixed: str
    serif: str
    sansSerif: str
    cursive: str
    fantasy: str
    pictograph: str


class FontSizes(TypedDict, total=False):
    """
    Default font sizes.

    Attributes:
        standard: Default standard font size.
        fixed: Default fixed font size.
    """

    standard: int
    fixed: int


class Frame(TypedDict, total=False):
    """
    Information about the Frame on the page.

    Attributes:
        id: Frame unique identifier.
        parentId: Parent frame identifier.
        loaderId: Identifier of the loader associated with this frame.
        name: Frame's name as specified in the tag.
        url: Frame document's URL without fragment.
        urlFragment: Frame document's URL fragment including the '#'.
        securityOrigin: Frame document's security origin.
        mimeType: Frame document's mimeType as determined by the browser.
        unreachableUrl: If the frame failed to load, this contains the URL that could not be loaded. Note that unlike url above, this URL may contain a fragment.
    """

    id: str
    parentId: str
    loaderId: str
    name: str
    url: str
    urlFragment: str
    securityOrigin: str
    mimeType: str
    unreachableUrl: str


class FrameResource(TypedDict, total=False):
    """
    Information about the Resource on the page.

    Attributes:
        url: Resource URL.
        type: Type of this resource.
        mimeType: Resource mimeType as determined by the browser.
        lastModified: last-modified timestamp as reported by server.
        contentSize: Resource content size.
        failed: True if the resource failed to load.
        canceled: True if the resource was canceled during loading.
    """

    url: str
    type: Literal[
        'Document',
        'Stylesheet',
        'Image',
        'Media',
        'Font',
        'Script',
        'TextTrack',
        'XHR',
        'Fetch',
        'EventSource',
        'WebSocket',
        'Manifest',
        'SignedExchange',
        'Ping',
        'CSPViolationReport',
        'Other',
    ]
    mimeType: str
    lastModified: float
    contentSize: float
    failed: bool
    canceled: bool


class FrameResourceTree(TypedDict, total=False):
    """
    Information about the Frame hierarchy along with their cached resources.

    Attributes:
        frame: Frame information for this tree item.
        childFrames: Child frames.
        resources: Information about frame resources.
    """

    frame: 'Frame'
    # actual: FrameResourceTree
    childFrames: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]
    resources: List['FrameResource']


class FrameTree(TypedDict, total=False):
    """
    Information about the Frame hierarchy.

    Attributes:
        frame: Frame information for this tree item.
        childFrames: Child frames.
    """

    frame: 'Frame'
    # actual: FrameTree
    childFrames: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]


class FrameWithManifest(TypedDict):
    """
    Frame identifier - manifest URL pair.

    Attributes:
        frameId: Frame identifier.
        manifestURL: Manifest URL.
        status: Application cache status.
    """

    frameId: str
    manifestURL: str
    status: int


class FunctionCoverage(TypedDict):
    """
    Coverage data for a JavaScript function.

    Attributes:
        functionName: JavaScript function name.
        ranges: Source ranges inside the function with coverage data.
        isBlockCoverage: Whether coverage data for this function has block granularity.
    """

    functionName: str
    ranges: List['CoverageRange']
    isBlockCoverage: bool


class GPUDevice(TypedDict, total=False):
    """
    Describes a single graphics processor (GPU).

    Attributes:
        vendorId: PCI ID of the GPU vendor, if available; 0 otherwise.
        deviceId: PCI ID of the GPU device, if available; 0 otherwise.
        subSysId: Sub sys ID of the GPU, only available on Windows.
        revision: Revision of the GPU, only available on Windows.
        vendorString: String description of the GPU vendor, if the PCI ID is not available.
        deviceString: String description of the GPU device, if the PCI ID is not available.
        driverVendor: String description of the GPU driver vendor.
        driverVersion: String description of the GPU driver version.
    """

    vendorId: float
    deviceId: float
    subSysId: float
    revision: float
    vendorString: str
    deviceString: str
    driverVendor: str
    driverVersion: str


class GPUInfo(TypedDict, total=False):
    """
    Provides information about the GPU(s) on the system.

    Attributes:
        devices: The graphics devices on the system. Element 0 is the primary GPU.
        auxAttributes: An optional dictionary of additional GPU related attributes.
        featureStatus: An optional dictionary of graphics features and their status.
        driverBugWorkarounds: An optional array of GPU driver bug workarounds.
        videoDecoding: Supported accelerated video decoding capabilities.
        videoEncoding: Supported accelerated video encoding capabilities.
        imageDecoding: Supported accelerated image decoding capabilities.
    """

    devices: List['GPUDevice']
    auxAttributes: Dict[str, str]
    featureStatus: Dict[str, str]
    driverBugWorkarounds: List[str]
    videoDecoding: List['VideoDecodeAcceleratorCapability']
    videoEncoding: List['VideoEncodeAcceleratorCapability']
    imageDecoding: List['ImageDecodeAcceleratorCapability']


class Header(TypedDict):
    name: str
    value: str


class HeaderEntry(TypedDict):
    """
    Response HTTP header entry

    """

    name: str
    value: str


class HighlightConfig(TypedDict, total=False):
    """
    Configuration data for the highlighting of page elements.

    Attributes:
        showInfo: Whether the node info tooltip should be shown (default: false).
        showStyles: Whether the node styles in the tooltip (default: false).
        showRulers: Whether the rulers should be shown (default: false).
        showExtensionLines: Whether the extension lines from node to the rulers should be shown (default: false).
        contentColor: The content box highlight fill color (default: transparent).
        paddingColor: The padding highlight fill color (default: transparent).
        borderColor: The border highlight fill color (default: transparent).
        marginColor: The margin highlight fill color (default: transparent).
        eventTargetColor: The event target element highlight fill color (default: transparent).
        shapeColor: The shape outside fill color (default: transparent).
        shapeMarginColor: The shape margin fill color (default: transparent).
        cssGridColor: The grid layout color (default: transparent).
    """

    showInfo: bool
    showStyles: bool
    showRulers: bool
    showExtensionLines: bool
    contentColor: 'RGBA'
    paddingColor: 'RGBA'
    borderColor: 'RGBA'
    marginColor: 'RGBA'
    eventTargetColor: 'RGBA'
    shapeColor: 'RGBA'
    shapeMarginColor: 'RGBA'
    cssGridColor: 'RGBA'


class Histogram(TypedDict):
    """
    Chrome histogram.

    Attributes:
        name: Name.
        sum: Sum of sample values.
        count: Total number of samples.
        buckets: Buckets.
    """

    name: str
    sum: int
    count: int
    buckets: List['Bucket']


class ImageDecodeAcceleratorCapability(TypedDict):
    """
    Describes a supported image decoding profile with its associated minimum and
    maximum resolutions and subsampling.

    Attributes:
        imageType: Image coded, e.g. Jpeg.
        maxDimensions: Maximum supported dimensions of the image in pixels.
        minDimensions: Minimum supported dimensions of the image in pixels.
        subsamplings: Optional array of supported subsampling formats, e.g. 4:2:0, if known.
    """

    imageType: Literal['jpeg', 'webp', 'unknown']
    maxDimensions: 'Size'
    minDimensions: 'Size'
    subsamplings: List[Literal['yuv420', 'yuv422', 'yuv444']]


class InheritedStyleEntry(TypedDict, total=False):
    """
    Inherited CSS rule collection from ancestor node.

    Attributes:
        inlineStyle: The ancestor node's inline style, if any, in the style inheritance chain.
        matchedCSSRules: Matches of CSS rules matching the ancestor node in the style inheritance chain.
    """

    inlineStyle: 'CSSStyle'
    matchedCSSRules: List['RuleMatch']


class Initiator(TypedDict, total=False):
    """
    Information about the request initiator.

    Attributes:
        type: Type of this initiator.
        stack: Initiator JavaScript stack trace, set for Script only.
        url: Initiator URL, set for Parser type or for Script type (when script is importing module) or for SignedExchange type.
        lineNumber: Initiator line number, set for Parser type or for Script type (when script is importing
            module) (0-based).
    """

    type: Literal['parser', 'script', 'preload', 'SignedExchange', 'other']
    stack: 'StackTrace'
    url: str
    lineNumber: float


class InlineTextBox(TypedDict):
    """
    Details of post layout rendered text positions. The exact layout should not be regarded as
    stable and may change between versions.

    Attributes:
        boundingBox: The bounding box in document coordinates. Note that scroll offset of the document is ignored.
        startCharacterIndex: The starting index in characters, for this post layout textbox substring. Characters that
            would be represented as a surrogate pair in UTF-16 have length 2.
        numCharacters: The number of characters in this post layout textbox substring. Characters that would be
            represented as a surrogate pair in UTF-16 have length 2.
    """

    boundingBox: 'Rect'
    startCharacterIndex: int
    numCharacters: int


class InsecureContentStatus(TypedDict):
    """
    Information about insecure content on the page.

    Attributes:
        ranMixedContent: Always false.
        displayedMixedContent: Always false.
        containedMixedForm: Always false.
        ranContentWithCertErrors: Always false.
        displayedContentWithCertErrors: Always false.
        ranInsecureContentStyle: Always set to unknown.
        displayedInsecureContentStyle: Always set to unknown.
    """

    ranMixedContent: bool
    displayedMixedContent: bool
    containedMixedForm: bool
    ranContentWithCertErrors: bool
    displayedContentWithCertErrors: bool
    ranInsecureContentStyle: Literal['unknown', 'neutral', 'insecure', 'secure', 'info', 'insecure-broken']
    displayedInsecureContentStyle: Literal['unknown', 'neutral', 'insecure', 'secure', 'info', 'insecure-broken']


class InternalPropertyDescriptor(TypedDict, total=False):
    """
    Object internal property descriptor. This property isn't normally visible in JavaScript code.

    Attributes:
        name: Conventional property name.
        value: The value associated with the property.
    """

    name: str
    value: 'RemoteObject'


class Key(TypedDict, total=False):
    """
    Key.

    Attributes:
        type: Key type.
        number: Number value.
        string: String value.
        date: Date value.
        array: Array value.
    """

    type: Literal['number', 'string', 'date', 'array']
    number: float
    string: str
    date: float
    # actual: Key
    array: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]


class KeyPath(TypedDict, total=False):
    """
    Key path.

    Attributes:
        type: Key path type.
        string: String value.
        array: Array value.
    """

    type: Literal['null', 'string', 'array']
    string: str
    array: List[str]


class KeyRange(TypedDict, total=False):
    """
    Key range.

    Attributes:
        lower: Lower bound.
        upper: Upper bound.
        lowerOpen: If true lower bound is open.
        upperOpen: If true upper bound is open.
    """

    lower: 'Key'
    upper: 'Key'
    lowerOpen: bool
    upperOpen: bool


class KeyframeStyle(TypedDict):
    """
    Keyframe Style

    Attributes:
        offset: Keyframe's time offset.
        easing: `AnimationEffect`'s timing function.
    """

    offset: str
    easing: str


class KeyframesRule(TypedDict, total=False):
    """
    Keyframes Rule

    Attributes:
        name: CSS keyframed animation's name.
        keyframes: List of animation keyframes.
    """

    name: str
    keyframes: List['KeyframeStyle']


class Layer(TypedDict, total=False):
    """
    Information about a compositing layer.

    Attributes:
        layerId: The unique id for this layer.
        parentLayerId: The id of parent (not present for root).
        backendNodeId: The backend id for the node associated with this layer.
        offsetX: Offset from parent layer, X coordinate.
        offsetY: Offset from parent layer, Y coordinate.
        width: Layer width.
        height: Layer height.
        transform: Transformation matrix for layer, default is identity matrix
        anchorX: Transform anchor point X, absent if no transform specified
        anchorY: Transform anchor point Y, absent if no transform specified
        anchorZ: Transform anchor point Z, absent if no transform specified
        paintCount: Indicates how many time this layer has painted.
        drawsContent: Indicates whether this layer hosts any content, rather than being used for
            transform/scrolling purposes only.
        invisible: Set if layer is not visible.
        scrollRects: Rectangles scrolling on main thread only.
        stickyPositionConstraint: Sticky position constraint information
    """

    layerId: str
    parentLayerId: str
    backendNodeId: int
    offsetX: float
    offsetY: float
    width: float
    height: float
    transform: List[float]
    anchorX: float
    anchorY: float
    anchorZ: float
    paintCount: int
    drawsContent: bool
    invisible: bool
    scrollRects: List['ScrollRect']
    stickyPositionConstraint: 'StickyPositionConstraint'


class LayoutTreeNode(TypedDict, total=False):
    """
    Details of an element in the DOM tree with a LayoutObject.

    Attributes:
        domNodeIndex: The index of the related DOM node in the `domNodes` array returned by `getSnapshot`.
        boundingBox: The bounding box in document coordinates. Note that scroll offset of the document is ignored.
        layoutText: Contents of the LayoutText, if any.
        inlineTextNodes: The post-layout inline text nodes, if any.
        styleIndex: Index into the `computedStyles` array returned by `getSnapshot`.
        paintOrder: Global paint order index, which is determined by the stacking order of the nodes. Nodes
            that are painted together will have the same index. Only provided if includePaintOrder in
            getSnapshot was true.
        isStackingContext: Set to true to indicate the element begins a new stacking context.
    """

    domNodeIndex: int
    boundingBox: 'Rect'
    layoutText: str
    inlineTextNodes: List['InlineTextBox']
    styleIndex: int
    paintOrder: int
    isStackingContext: bool


class LayoutTreeSnapshot(TypedDict, total=False):
    """
    Table of details of an element in the DOM tree with a LayoutObject.

    Attributes:
        nodeIndex: Index of the corresponding node in the `NodeTreeSnapshot` array returned by `captureSnapshot`.
        styles: Array of indexes specifying computed style strings, filtered according to the `computedStyles` parameter passed to `captureSnapshot`.
        bounds: The absolute position bounding box.
        text: Contents of the LayoutText, if any.
        stackingContexts: Stacking context information.
        paintOrders: Global paint order index, which is determined by the stacking order of the nodes. Nodes
            that are painted together will have the same index. Only provided if includePaintOrder in
            captureSnapshot was true.
        offsetRects: The offset rect of nodes. Only available when includeDOMRects is set to true
        scrollRects: The scroll rect of nodes. Only available when includeDOMRects is set to true
        clientRects: The client rect of nodes. Only available when includeDOMRects is set to true
    """

    nodeIndex: List[int]
    styles: List[List[int]]
    bounds: List[List[float]]
    text: List[int]
    stackingContexts: 'RareBooleanData'
    paintOrders: List[int]
    offsetRects: List[List[float]]
    scrollRects: List[List[float]]
    clientRects: List[List[float]]


class LayoutViewport(TypedDict):
    """
    Layout viewport position and dimensions.

    Attributes:
        pageX: Horizontal offset relative to the document (CSS pixels).
        pageY: Vertical offset relative to the document (CSS pixels).
        clientWidth: Width (CSS pixels), excludes scrollbar if present.
        clientHeight: Height (CSS pixels), excludes scrollbar if present.
    """

    pageX: int
    pageY: int
    clientWidth: int
    clientHeight: int


class Location(TypedDict, total=False):
    """
    Location in the source code.

    Attributes:
        scriptId: Script identifier as reported in the `Debugger.scriptParsed`.
        lineNumber: Line number in the script (0-based).
        columnNumber: Column number in the script (0-based).
    """

    scriptId: str
    lineNumber: int
    columnNumber: int


class LogEntry(TypedDict, total=False):
    """
    Log entry.

    Attributes:
        source: Log entry source.
        level: Log entry severity.
        text: Logged text.
        timestamp: Timestamp when this entry was added.
        url: URL of the resource if known.
        lineNumber: Line number in the resource.
        stackTrace: JavaScript stack trace.
        networkRequestId: Identifier of the network request associated with this entry.
        workerId: Identifier of the worker associated with this entry.
        args: Call arguments.
    """

    source: Literal[
        'xml',
        'javascript',
        'network',
        'storage',
        'appcache',
        'rendering',
        'security',
        'deprecation',
        'worker',
        'violation',
        'intervention',
        'recommendation',
        'other',
    ]
    level: Literal['verbose', 'info', 'warning', 'error']
    text: str
    timestamp: float
    url: str
    lineNumber: int
    stackTrace: 'StackTrace'
    networkRequestId: str
    workerId: str
    args: List['RemoteObject']


class MediaFeature(TypedDict):
    name: str
    value: str


class MediaQuery(TypedDict):
    """
    Media query descriptor.

    Attributes:
        expressions: Array of media query expressions.
        active: Whether the media query condition is satisfied.
    """

    expressions: List['MediaQueryExpression']
    active: bool


class MediaQueryExpression(TypedDict, total=False):
    """
    Media query expression descriptor.

    Attributes:
        value: Media query expression value.
        unit: Media query expression units.
        feature: Media query expression feature.
        valueRange: The associated range of the value text in the enclosing stylesheet (if available).
        computedLength: Computed length of media query expression (if applicable).
    """

    value: float
    unit: str
    feature: str
    valueRange: 'SourceRange'
    computedLength: float


class Metric(TypedDict):
    """
    Run-time execution metric.

    Attributes:
        name: Metric name.
        value: Metric value.
    """

    name: str
    value: float


class Module(TypedDict):
    """
    Executable module information

    Attributes:
        name: Name of the module.
        uuid: UUID of the module.
        baseAddress: Base address where the module is loaded into memory. Encoded as a decimal
            or hexadecimal (0x prefixed) string.
        size: Size of the module in bytes.
    """

    name: str
    uuid: str
    baseAddress: str
    size: float


class NameValue(TypedDict):
    """
    A name/value pair.

    Attributes:
        name: Attribute/property name.
        value: Attribute/property value.
    """

    name: str
    value: str


class NavigationEntry(TypedDict):
    """
    Navigation history entry.

    Attributes:
        id: Unique id of the navigation history entry.
        url: URL of the navigation history entry.
        userTypedURL: URL that the user typed in the url bar.
        title: Title of the navigation history entry.
        transitionType: Transition type.
    """

    id: int
    url: str
    userTypedURL: str
    title: str
    transitionType: Literal[
        'link',
        'typed',
        'address_bar',
        'auto_bookmark',
        'auto_subframe',
        'manual_subframe',
        'generated',
        'auto_toplevel',
        'form_submit',
        'reload',
        'keyword',
        'keyword_generated',
        'other',
    ]


class Node(TypedDict, total=False):
    """
    DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes.
    DOMNode is a base node mirror type.

    Attributes:
        nodeId: Node identifier that is passed into the rest of the DOM messages as the `nodeId`. Backend
            will only push node with given `id` once. It is aware of all requested nodes and will only
            fire DOM events for nodes known to the client.
        parentId: The id of the parent node if any.
        backendNodeId: The BackendNodeId for this node.
        nodeType: `Node`'s nodeType.
        nodeName: `Node`'s nodeName.
        localName: `Node`'s localName.
        nodeValue: `Node`'s nodeValue.
        childNodeCount: Child count for `Container` nodes.
        children: Child nodes of this node when requested with children.
        attributes: Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`.
        documentURL: Document URL that `Document` or `FrameOwner` node points to.
        baseURL: Base URL that `Document` or `FrameOwner` node uses for URL completion.
        publicId: `DocumentType`'s publicId.
        systemId: `DocumentType`'s systemId.
        internalSubset: `DocumentType`'s internalSubset.
        xmlVersion: `Document`'s XML version in case of XML documents.
        name: `Attr`'s name.
        value: `Attr`'s value.
        pseudoType: Pseudo element type for this node.
        shadowRootType: Shadow root type.
        frameId: Frame ID for frame owner elements.
        contentDocument: Content document for frame owner elements.
        shadowRoots: Shadow root list for given element host.
        templateContent: Content document fragment for template elements.
        pseudoElements: Pseudo elements associated with this node.
        importedDocument: Import document for the HTMLImport links.
        distributedNodes: Distributed nodes for given insertion point.
        isSVG: Whether the node is SVG.
    """

    nodeId: int
    parentId: int
    backendNodeId: int
    nodeType: int
    nodeName: str
    localName: str
    nodeValue: str
    childNodeCount: int
    # actual: Node
    children: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]
    attributes: List[str]
    documentURL: str
    baseURL: str
    publicId: str
    systemId: str
    internalSubset: str
    xmlVersion: str
    name: str
    value: str
    pseudoType: Literal[
        'first-line',
        'first-letter',
        'before',
        'after',
        'backdrop',
        'selection',
        'first-line-inherited',
        'scrollbar',
        'scrollbar-thumb',
        'scrollbar-button',
        'scrollbar-track',
        'scrollbar-track-piece',
        'scrollbar-corner',
        'resizer',
        'input-list-button',
    ]
    shadowRootType: Literal['user-agent', 'open', 'closed']
    frameId: str
    # actual: Node
    contentDocument: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]
    # actual: Node
    shadowRoots: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]
    # actual: Node
    templateContent: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]
    # actual: Node
    pseudoElements: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]
    # actual: Node
    importedDocument: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]
    distributedNodes: List['BackendNode']
    isSVG: bool


class NodeTreeSnapshot(TypedDict, total=False):
    """
    Table containing nodes.

    Attributes:
        parentIndex: Parent node index.
        nodeType: `Node`'s nodeType.
        nodeName: `Node`'s nodeName.
        nodeValue: `Node`'s nodeValue.
        backendNodeId: `Node`'s id, corresponds to DOM.Node.backendNodeId.
        attributes: Attributes of an `Element` node. Flatten name, value pairs.
        textValue: Only set for textarea elements, contains the text value.
        inputValue: Only set for input elements, contains the input's associated text value.
        inputChecked: Only set for radio and checkbox input elements, indicates if the element has been checked
        optionSelected: Only set for option elements, indicates if the element has been selected
        contentDocumentIndex: The index of the document in the list of the snapshot documents.
        pseudoType: Type of a pseudo element node.
        isClickable: Whether this DOM node responds to mouse clicks. This includes nodes that have had click
            event listeners attached via JavaScript as well as anchor tags that naturally navigate when
            clicked.
        currentSourceURL: The selected url for nodes with a srcset attribute.
        originURL: The url of the script (if any) that generates this node.
    """

    parentIndex: List[int]
    nodeType: List[int]
    nodeName: List[int]
    nodeValue: List[int]
    backendNodeId: List[int]
    attributes: List[List[int]]
    textValue: 'RareStringData'
    inputValue: 'RareStringData'
    inputChecked: 'RareBooleanData'
    optionSelected: 'RareBooleanData'
    contentDocumentIndex: 'RareIntegerData'
    pseudoType: 'RareStringData'
    isClickable: 'RareBooleanData'
    currentSourceURL: 'RareStringData'
    originURL: 'RareStringData'


class ObjectPreview(TypedDict, total=False):
    """
    Object containing abbreviated remote object value.

    Attributes:
        type: Object type.
        subtype: Object subtype hint. Specified for `object` type values only.
        description: String representation of the object.
        overflow: True iff some of the properties or entries of the original object did not fit.
        properties: List of the properties.
        entries: List of the entries. Specified for `map` and `set` subtype values only.
    """

    type: Literal['object', 'function', 'undefined', 'string', 'number', 'boolean', 'symbol', 'bigint']
    subtype: Literal[
        'array', 'null', 'node', 'regexp', 'date', 'map', 'set', 'weakmap', 'weakset', 'iterator', 'generator', 'error'
    ]
    description: str
    overflow: bool
    # actual: PropertyPreview
    properties: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]
    # actual: EntryPreview
    entries: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]


class ObjectStore(TypedDict):
    """
    Object store.

    Attributes:
        name: Object store name.
        keyPath: Object store key path.
        autoIncrement: If true, object store has auto increment flag set.
        indexes: Indexes in this object store.
    """

    name: str
    keyPath: 'KeyPath'
    autoIncrement: bool
    indexes: List['ObjectStoreIndex']


class ObjectStoreIndex(TypedDict):
    """
    Object store index.

    Attributes:
        name: Index name.
        keyPath: Index key path.
        unique: If true, index is unique.
        multiEntry: If true, index allows multiple entries for a key.
    """

    name: str
    keyPath: 'KeyPath'
    unique: bool
    multiEntry: bool


class PermissionDescriptor(TypedDict, total=False):
    """
    Definition of PermissionDescriptor defined in the Permissions API:
    https://w3c.github.io/permissions/#dictdef-permissiondescriptor.

    Attributes:
        name: Name of permission.
            See https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl for valid permission names.
        sysex: For "midi" permission, may also specify sysex control.
        userVisibleOnly: For "push" permission, may specify userVisibleOnly.
            Note that userVisibleOnly = true is the only currently supported type.
        type: For "wake-lock" permission, must specify type as either "screen" or "system".
    """

    name: str
    sysex: bool
    userVisibleOnly: bool
    type: str


class PictureTile(TypedDict):
    """
    Serialized fragment of layer picture along with its offset within the layer.

    Attributes:
        x: Offset from owning layer left boundary
        y: Offset from owning layer top boundary
        picture: Base64-encoded snapshot data.
    """

    x: float
    y: float
    picture: bytes


class PlatformFontUsage(TypedDict):
    """
    Information about amount of glyphs that were rendered with given font.

    Attributes:
        familyName: Font's family name reported by platform.
        isCustomFont: Indicates if the font was downloaded or resolved locally.
        glyphCount: Amount of glyphs that were rendered with this font.
    """

    familyName: str
    isCustomFont: bool
    glyphCount: float


class PlayerEvent(TypedDict):
    """
    Attributes:
        timestamp: Events are timestamped relative to the start of the player creation
            not relative to the start of playback.
    """

    type: Literal['playbackEvent', 'systemEvent', 'messageEvent']
    timestamp: float
    name: str
    value: str


class PlayerProperty(TypedDict, total=False):
    """
    Player Property type

    """

    name: str
    value: str


class PositionTickInfo(TypedDict):
    """
    Specifies a number of samples attributed to a certain source position.

    Attributes:
        line: Source line number (1-based).
        ticks: Number of samples attributed to the source line.
    """

    line: int
    ticks: int


class PrivatePropertyDescriptor(TypedDict):
    """
    Object private field descriptor.

    Attributes:
        name: Private property name.
        value: The value associated with the private property.
    """

    name: str
    value: 'RemoteObject'


class ProcessInfo(TypedDict):
    """
    Represents process info.

    Attributes:
        type: Specifies process type.
        id: Specifies process id.
        cpuTime: Specifies cumulative CPU usage in seconds across all threads of the
            process since the process start.
    """

    type: str
    id: int
    cpuTime: float


class Profile(TypedDict, total=False):
    """
    Profile.

    Attributes:
        nodes: The list of profile nodes. First item is the root node.
        startTime: Profiling start timestamp in microseconds.
        endTime: Profiling end timestamp in microseconds.
        samples: Ids of samples top nodes.
        timeDeltas: Time intervals between adjacent samples in microseconds. The first delta is relative to the
            profile startTime.
    """

    nodes: List['ProfileNode']
    startTime: float
    endTime: float
    samples: List[int]
    timeDeltas: List[int]


class ProfileNode(TypedDict, total=False):
    """
    Profile node. Holds callsite information, execution statistics and child nodes.

    Attributes:
        id: Unique id of the node.
        callFrame: Function location.
        hitCount: Number of samples where this node was on top of the call stack.
        children: Child node ids.
        deoptReason: The reason of being not optimized. The function may be deoptimized or marked as don't
            optimize.
        positionTicks: An array of source position ticks.
    """

    id: int
    callFrame: 'CallFrame'
    hitCount: int
    children: List[int]
    deoptReason: str
    positionTicks: List['PositionTickInfo']


class PropertyDescriptor(TypedDict, total=False):
    """
    Object property descriptor.

    Attributes:
        name: Property name or symbol description.
        value: The value associated with the property.
        writable: True if the value associated with the property may be changed (data descriptors only).
        get: A function which serves as a getter for the property, or `undefined` if there is no getter
            (accessor descriptors only).
        set: A function which serves as a setter for the property, or `undefined` if there is no setter
            (accessor descriptors only).
        configurable: True if the type of this property descriptor may be changed and if the property may be
            deleted from the corresponding object.
        enumerable: True if this property shows up during enumeration of the properties on the corresponding
            object.
        wasThrown: True if the result was thrown during the evaluation.
        isOwn: True if the property is owned for the object.
        symbol: Property symbol object, if the property is of the `symbol` type.
    """

    name: str
    value: 'RemoteObject'
    writable: bool
    get: 'RemoteObject'
    set: 'RemoteObject'
    configurable: bool
    enumerable: bool
    wasThrown: bool
    isOwn: bool
    symbol: 'RemoteObject'


class PropertyPreview(TypedDict, total=False):
    """
    Attributes:
        name: Property name.
        type: Object type. Accessor means that the property itself is an accessor property.
        value: User-friendly property value string.
        valuePreview: Nested value preview.
        subtype: Object subtype hint. Specified for `object` type values only.
    """

    name: str
    type: Literal['object', 'function', 'undefined', 'string', 'number', 'boolean', 'symbol', 'accessor', 'bigint']
    value: str
    # actual: ObjectPreview
    valuePreview: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]
    subtype: Literal[
        'array', 'null', 'node', 'regexp', 'date', 'map', 'set', 'weakmap', 'weakset', 'iterator', 'generator', 'error'
    ]


class PseudoElementMatches(TypedDict):
    """
    CSS rule collection for a single pseudo style.

    Attributes:
        pseudoType: Pseudo element type.
        matches: Matches of CSS rules applicable to the pseudo style.
    """

    pseudoType: Literal[
        'first-line',
        'first-letter',
        'before',
        'after',
        'backdrop',
        'selection',
        'first-line-inherited',
        'scrollbar',
        'scrollbar-thumb',
        'scrollbar-button',
        'scrollbar-track',
        'scrollbar-track-piece',
        'scrollbar-corner',
        'resizer',
        'input-list-button',
    ]
    matches: List['RuleMatch']


class RGBA(TypedDict, total=False):
    """
    A structure holding an RGBA color.

    Attributes:
        r: The red component, in the [0-255] range.
        g: The green component, in the [0-255] range.
        b: The blue component, in the [0-255] range.
        a: The alpha component, in the [0-1] range (default: 1).
    """

    r: int
    g: int
    b: int
    a: float


class RareBooleanData(TypedDict):
    index: List[int]


class RareIntegerData(TypedDict):
    index: List[int]
    value: List[int]


class RareStringData(TypedDict):
    """
    Data that is only present on rare nodes.

    """

    index: List[int]
    value: List[int]


class Rect(TypedDict):
    """
    Rectangle.

    Attributes:
        x: X coordinate
        y: Y coordinate
        width: Rectangle width
        height: Rectangle height
    """

    x: float
    y: float
    width: float
    height: float


class RemoteLocation(TypedDict):
    host: str
    port: int


class RemoteObject(TypedDict, total=False):
    """
    Mirror object referencing original JavaScript object.

    Attributes:
        type: Object type.
        subtype: Object subtype hint. Specified for `object` type values only.
        className: Object class (constructor) name. Specified for `object` type values only.
        value: Remote object value in case of primitive values or JSON values (if it was requested).
        unserializableValue: Primitive value which can not be JSON-stringified does not have `value`, but gets this
            property.
        description: String representation of the object.
        objectId: Unique object identifier (for non-primitive values).
        preview: Preview containing abbreviated property values. Specified for `object` type values only.
    """

    type: Literal['object', 'function', 'undefined', 'string', 'number', 'boolean', 'symbol', 'bigint']
    subtype: Literal[
        'array',
        'null',
        'node',
        'regexp',
        'date',
        'map',
        'set',
        'weakmap',
        'weakset',
        'iterator',
        'generator',
        'error',
        'proxy',
        'promise',
        'typedarray',
        'arraybuffer',
        'dataview',
    ]
    className: str
    value: Any
    unserializableValue: str
    description: str
    objectId: str
    preview: 'ObjectPreview'
    customPreview: 'CustomPreview'


class Request(TypedDict, total=False):
    """
    HTTP request data.

    Attributes:
        url: Request URL (without fragment).
        urlFragment: Fragment of the requested URL starting with hash, if present.
        method: HTTP request method.
        headers: HTTP request headers.
        postData: HTTP POST request data.
        hasPostData: True when the request has POST data. Note that postData might still be omitted when this flag is true when the data is too long.
        mixedContentType: The mixed content type of the request.
        initialPriority: Priority of the resource request at the time request is sent.
        referrerPolicy: The referrer policy of the request, as defined in https://www.w3.org/TR/referrer-policy/
        isLinkPreload: Whether is loaded via link preload.
    """

    url: str
    urlFragment: str
    method: str
    headers: Dict[str, str]
    postData: str
    hasPostData: bool
    mixedContentType: Literal['blockable', 'optionally-blockable', 'none']
    initialPriority: Literal['VeryLow', 'Low', 'Medium', 'High', 'VeryHigh']
    referrerPolicy: Literal[
        'unsafe-url',
        'no-referrer-when-downgrade',
        'no-referrer',
        'origin',
        'origin-when-cross-origin',
        'same-origin',
        'strict-origin',
        'strict-origin-when-cross-origin',
    ]
    isLinkPreload: bool


class RequestPattern(TypedDict, total=False):
    """
    Attributes:
        urlPattern: Wildcards ('*' -> zero or more, '?' -> exactly one) are allowed. Escape character is
            backslash. Omitting is equivalent to "*".
        resourceType: If set, only requests for matching resource types will be intercepted.
        requestStage: Stage at wich to begin intercepting requests. Default is Request.
    """

    urlPattern: str
    resourceType: Literal[
        'Document',
        'Stylesheet',
        'Image',
        'Media',
        'Font',
        'Script',
        'TextTrack',
        'XHR',
        'Fetch',
        'EventSource',
        'WebSocket',
        'Manifest',
        'SignedExchange',
        'Ping',
        'CSPViolationReport',
        'Other',
    ]
    requestStage: Literal['Request', 'Response']


class ResourceTiming(TypedDict):
    """
    Timing information for the request.

    Attributes:
        requestTime: Timing's requestTime is a baseline in seconds, while the other numbers are ticks in
            milliseconds relatively to this requestTime.
        proxyStart: Started resolving proxy.
        proxyEnd: Finished resolving proxy.
        dnsStart: Started DNS address resolve.
        dnsEnd: Finished DNS address resolve.
        connectStart: Started connecting to the remote host.
        connectEnd: Connected to the remote host.
        sslStart: Started SSL handshake.
        sslEnd: Finished SSL handshake.
        workerStart: Started running ServiceWorker.
        workerReady: Finished Starting ServiceWorker.
        sendStart: Started sending request.
        sendEnd: Finished sending request.
        pushStart: Time the server started pushing request.
        pushEnd: Time the server finished pushing request.
        receiveHeadersEnd: Finished receiving response headers.
    """

    requestTime: float
    proxyStart: float
    proxyEnd: float
    dnsStart: float
    dnsEnd: float
    connectStart: float
    connectEnd: float
    sslStart: float
    sslEnd: float
    workerStart: float
    workerReady: float
    sendStart: float
    sendEnd: float
    pushStart: float
    pushEnd: float
    receiveHeadersEnd: float


class Response(TypedDict, total=False):
    """
    HTTP response data.

    Attributes:
        url: Response URL. This URL can be different from CachedResource.url in case of redirect.
        status: HTTP response status code.
        statusText: HTTP response status text.
        headers: HTTP response headers.
        headersText: HTTP response headers text.
        mimeType: Resource mimeType as determined by the browser.
        requestHeaders: Refined HTTP request headers that were actually transmitted over the network.
        requestHeadersText: HTTP request headers text.
        connectionReused: Specifies whether physical connection was actually reused for this request.
        connectionId: Physical connection id that was actually used for this request.
        remoteIPAddress: Remote IP address.
        remotePort: Remote port.
        fromDiskCache: Specifies that the request was served from the disk cache.
        fromServiceWorker: Specifies that the request was served from the ServiceWorker.
        fromPrefetchCache: Specifies that the request was served from the prefetch cache.
        encodedDataLength: Total number of bytes received for this request so far.
        timing: Timing information for the given request.
        protocol: Protocol used to fetch this request.
        securityState: Security state of the request resource.
        securityDetails: Security details for the request.
    """

    url: str
    status: int
    statusText: str
    headers: Dict[str, str]
    headersText: str
    mimeType: str
    requestHeaders: Dict[str, str]
    requestHeadersText: str
    connectionReused: bool
    connectionId: float
    remoteIPAddress: str
    remotePort: int
    fromDiskCache: bool
    fromServiceWorker: bool
    fromPrefetchCache: bool
    encodedDataLength: float
    timing: 'ResourceTiming'
    protocol: str
    securityState: Literal['unknown', 'neutral', 'insecure', 'secure', 'info', 'insecure-broken']
    securityDetails: 'SecurityDetails'


class RuleMatch(TypedDict):
    """
    Match data for a CSS rule.

    Attributes:
        rule: CSS rule in the match.
        matchingSelectors: Matching selector indices in the rule's selectorList selectors (0-based).
    """

    rule: 'CSSRule'
    matchingSelectors: List[int]


class RuleUsage(TypedDict):
    """
    CSS coverage information.

    Attributes:
        styleSheetId: The css style sheet identifier (absent for user agent stylesheet and user-specified
            stylesheet rules) this rule came from.
        startOffset: Offset of the start of the rule (including selector) from the beginning of the stylesheet.
        endOffset: Offset of the end of the rule body from the beginning of the stylesheet.
        used: Indicates whether the rule was actually used by some element in the page.
    """

    styleSheetId: str
    startOffset: float
    endOffset: float
    used: bool


class SafetyTipInfo(TypedDict, total=False):
    """
    Attributes:
        safetyTipStatus: Describes whether the page triggers any safety tips or reputation warnings. Default is unknown.
        safeUrl: The URL the safety tip suggested ("Did you mean?"). Only filled in for lookalike matches.
    """

    safetyTipStatus: Literal['badReputation', 'lookalike']
    safeUrl: str


class SamplingHeapProfile(TypedDict):
    """
    Sampling profile.

    """

    head: 'SamplingHeapProfileNode'
    samples: List['SamplingHeapProfileSample']


class SamplingHeapProfileNode(TypedDict):
    """
    Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes.

    Attributes:
        callFrame: Function location.
        selfSize: Allocations size in bytes for the node excluding children.
        id: Node id. Ids are unique across all profiles collected between startSampling and stopSampling.
        children: Child nodes.
    """

    callFrame: 'CallFrame'
    selfSize: float
    id: int
    # actual: SamplingHeapProfileNode
    children: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]


class SamplingHeapProfileSample(TypedDict):
    """
    A single sample from a sampling profile.

    Attributes:
        size: Allocation size in bytes attributed to the sample.
        nodeId: Id of the corresponding profile tree node.
        ordinal: Time-ordered sample ordinal number. It is unique across all profiles retrieved
            between startSampling and stopSampling.
    """

    size: float
    nodeId: int
    ordinal: float


class SamplingProfile(TypedDict):
    """
    Array of heap profile samples.

    """

    samples: List['SamplingProfileNode']
    modules: List['Module']


class SamplingProfileNode(TypedDict):
    """
    Heap profile sample.

    Attributes:
        size: Size of the sampled allocation.
        total: Total bytes attributed to this sample.
        stack: Execution stack at the point of allocation.
    """

    size: float
    total: float
    stack: List[str]


class Scope(TypedDict, total=False):
    """
    Scope description.

    Attributes:
        type: Scope type.
        object: Object representing the scope. For `global` and `with` scopes it represents the actual
            object; for the rest of the scopes, it is artificial transient object enumerating scope
            variables as its properties.
        startLocation: Location in the source code where scope starts
        endLocation: Location in the source code where scope ends
    """

    type: Literal['global', 'local', 'with', 'closure', 'catch', 'block', 'script', 'eval', 'module']
    object: 'RemoteObject'
    name: str
    startLocation: 'Location'
    endLocation: 'Location'


class ScreenOrientation(TypedDict):
    """
    Screen orientation.

    Attributes:
        type: Orientation type.
        angle: Orientation angle.
    """

    type: Literal['portraitPrimary', 'portraitSecondary', 'landscapePrimary', 'landscapeSecondary']
    angle: int


class ScreencastFrameMetadata(TypedDict, total=False):
    """
    Screencast frame metadata.

    Attributes:
        offsetTop: Top offset in DIP.
        pageScaleFactor: Page scale factor.
        deviceWidth: Device screen width in DIP.
        deviceHeight: Device screen height in DIP.
        scrollOffsetX: Position of horizontal scroll in CSS pixels.
        scrollOffsetY: Position of vertical scroll in CSS pixels.
        timestamp: Frame swap timestamp.
    """

    offsetTop: float
    pageScaleFactor: float
    deviceWidth: float
    deviceHeight: float
    scrollOffsetX: float
    scrollOffsetY: float
    timestamp: float


class ScreenshotParams(TypedDict, total=False):
    """
    Encoding options for a screenshot.

    Attributes:
        format: Image compression format (defaults to png).
        quality: Compression quality from range [0..100] (jpeg only).
    """

    format: Literal['jpeg', 'png']
    quality: int


class ScriptCoverage(TypedDict):
    """
    Coverage data for a JavaScript script.

    Attributes:
        scriptId: JavaScript script id.
        url: JavaScript script name or url.
        functions: Functions contained in the script that has coverage data.
    """

    scriptId: str
    url: str
    functions: List['FunctionCoverage']


class ScriptPosition(TypedDict):
    """
    Location in the source code.

    """

    lineNumber: int
    columnNumber: int


class ScriptTypeProfile(TypedDict):
    """
    Type profile data collected during runtime for a JavaScript script.

    Attributes:
        scriptId: JavaScript script id.
        url: JavaScript script name or url.
        entries: Type profile entries for parameters and return values of the functions in the script.
    """

    scriptId: str
    url: str
    entries: List['TypeProfileEntry']


class ScrollRect(TypedDict):
    """
    Rectangle where scrolling happens on the main thread.

    Attributes:
        rect: Rectangle itself.
        type: Reason for rectangle to force scrolling on the main thread
    """

    rect: 'Rect'
    type: Literal['RepaintsOnScroll', 'TouchEventHandler', 'WheelEventHandler']


class SearchMatch(TypedDict):
    """
    Search match for resource.

    Attributes:
        lineNumber: Line number in resource content.
        lineContent: Line with match content.
    """

    lineNumber: float
    lineContent: str


class SecurityDetails(TypedDict, total=False):
    """
    Security details about a request.

    Attributes:
        protocol: Protocol name (e.g. "TLS 1.2" or "QUIC").
        keyExchange: Key Exchange used by the connection, or the empty string if not applicable.
        keyExchangeGroup: (EC)DH group used by the connection, if applicable.
        cipher: Cipher name.
        mac: TLS MAC. Note that AEAD ciphers do not have separate MACs.
        certificateId: Certificate ID value.
        subjectName: Certificate subject name.
        sanList: Subject Alternative Name (SAN) DNS names and IP addresses.
        issuer: Name of the issuing CA.
        validFrom: Certificate valid from date.
        validTo: Certificate valid to (expiration) date
        signedCertificateTimestampList: List of signed certificate timestamps (SCTs).
        certificateTransparencyCompliance: Whether the request complied with Certificate Transparency policy
    """

    protocol: str
    keyExchange: str
    keyExchangeGroup: str
    cipher: str
    mac: str
    certificateId: int
    subjectName: str
    sanList: List[str]
    issuer: str
    validFrom: float
    validTo: float
    signedCertificateTimestampList: List['SignedCertificateTimestamp']
    certificateTransparencyCompliance: Literal['unknown', 'not-compliant', 'compliant']


class SecurityStateExplanation(TypedDict, total=False):
    """
    An explanation of an factor contributing to the security state.

    Attributes:
        securityState: Security state representing the severity of the factor being explained.
        title: Title describing the type of factor.
        summary: Short phrase describing the type of factor.
        description: Full text explanation of the factor.
        mixedContentType: The type of mixed content described by the explanation.
        certificate: Page certificate.
        recommendations: Recommendations to fix any issues.
    """

    securityState: Literal['unknown', 'neutral', 'insecure', 'secure', 'info', 'insecure-broken']
    title: str
    summary: str
    description: str
    mixedContentType: Literal['blockable', 'optionally-blockable', 'none']
    certificate: List[str]
    recommendations: List[str]


class SelectorList(TypedDict):
    """
    Selector list data.

    Attributes:
        selectors: Selectors in the list.
        text: Rule selector text.
    """

    selectors: List['Value']
    text: str


class ServiceWorkerErrorMessage(TypedDict):
    """
    ServiceWorker error message.

    """

    errorMessage: str
    registrationId: str
    versionId: str
    sourceURL: str
    lineNumber: int
    columnNumber: int


class ServiceWorkerRegistration(TypedDict):
    """
    ServiceWorker registration.

    """

    registrationId: str
    scopeURL: str
    isDeleted: bool


class ServiceWorkerVersion(TypedDict, total=False):
    """
    ServiceWorker version.

    Attributes:
        scriptLastModified: The Last-Modified header value of the main script.
        scriptResponseTime: The time at which the response headers of the main script were received from the server.
            For cached script it is the last time the cache entry was validated.
    """

    versionId: str
    registrationId: str
    scriptURL: str
    runningStatus: Literal['stopped', 'starting', 'running', 'stopping']
    status: Literal['new', 'installing', 'installed', 'activating', 'activated', 'redundant']
    scriptLastModified: float
    scriptResponseTime: float
    controlledClients: List[str]
    targetId: str


class ShapeOutsideInfo(TypedDict):
    """
    CSS Shape Outside details.

    Attributes:
        bounds: Shape bounds
        shape: Shape coordinate details
        marginShape: Margin shape bounds
    """

    bounds: List[float]
    shape: List[Any]
    marginShape: List[Any]


class ShorthandEntry(TypedDict, total=False):
    """
    Attributes:
        name: Shorthand name.
        value: Shorthand value.
        important: Whether the property has "!important" annotation (implies `false` if absent).
    """

    name: str
    value: str
    important: bool


class SignedCertificateTimestamp(TypedDict):
    """
    Details of a signed certificate timestamp (SCT).

    Attributes:
        status: Validation status.
        origin: Origin.
        logDescription: Log name / description.
        logId: Log ID.
        timestamp: Issuance date.
        hashAlgorithm: Hash algorithm.
        signatureAlgorithm: Signature algorithm.
        signatureData: Signature data.
    """

    status: str
    origin: str
    logDescription: str
    logId: str
    timestamp: float
    hashAlgorithm: str
    signatureAlgorithm: str
    signatureData: str


class SignedExchangeError(TypedDict, total=False):
    """
    Information about a signed exchange response.

    Attributes:
        message: Error message.
        signatureIndex: The index of the signature which caused the error.
        errorField: The field which caused the error.
    """

    message: str
    signatureIndex: int
    errorField: Literal[
        'signatureSig',
        'signatureIntegrity',
        'signatureCertUrl',
        'signatureCertSha256',
        'signatureValidityUrl',
        'signatureTimestamps',
    ]


class SignedExchangeHeader(TypedDict):
    """
    Information about a signed exchange header.
    https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#cbor-representation

    Attributes:
        requestUrl: Signed exchange request URL.
        responseCode: Signed exchange response code.
        responseHeaders: Signed exchange response headers.
        signatures: Signed exchange response signature.
        headerIntegrity: Signed exchange header integrity hash in the form of "sha256-<base64-hash-value>".
    """

    requestUrl: str
    responseCode: int
    responseHeaders: Dict[str, str]
    signatures: List['SignedExchangeSignature']
    headerIntegrity: str


class SignedExchangeInfo(TypedDict, total=False):
    """
    Information about a signed exchange response.

    Attributes:
        outerResponse: The outer response of signed HTTP exchange which was received from network.
        header: Information about the signed exchange header.
        securityDetails: Security details for the signed exchange header.
        errors: Errors occurred while handling the signed exchagne.
    """

    outerResponse: 'Response'
    header: 'SignedExchangeHeader'
    securityDetails: 'SecurityDetails'
    errors: List['SignedExchangeError']


class SignedExchangeSignature(TypedDict, total=False):
    """
    Information about a signed exchange signature.
    https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#rfc.section.3.1

    Attributes:
        label: Signed exchange signature label.
        signature: The hex string of signed exchange signature.
        integrity: Signed exchange signature integrity.
        certUrl: Signed exchange signature cert Url.
        certSha256: The hex string of signed exchange signature cert sha256.
        validityUrl: Signed exchange signature validity Url.
        date: Signed exchange signature date.
        expires: Signed exchange signature expires.
        certificates: The encoded certificates.
    """

    label: str
    signature: str
    integrity: str
    certUrl: str
    certSha256: str
    validityUrl: str
    date: int
    expires: int
    certificates: List[str]


class Sink(TypedDict, total=False):
    """
    Attributes:
        session: Text describing the current session. Present only if there is an active
            session on the sink.
    """

    name: str
    id: str
    session: str


class Size(TypedDict):
    """
    Describes the width and height dimensions of an entity.

    Attributes:
        width: Width in pixels.
        height: Height in pixels.
    """

    width: int
    height: int


class SourceRange(TypedDict):
    """
    Text range within a resource. All numbers are zero-based.

    Attributes:
        startLine: Start line of range.
        startColumn: Start column of range (inclusive).
        endLine: End line of range
        endColumn: End column of range (exclusive).
    """

    startLine: int
    startColumn: int
    endLine: int
    endColumn: int


class StackTrace(TypedDict, total=False):
    """
    Call frames for assertions or error messages.

    Attributes:
        description: String label of this stack trace. For async traces this may be a name of the function that
            initiated the async call.
        callFrames: JavaScript function name.
        parent: Asynchronous JavaScript stack trace that preceded this stack, if available.
        parentId: Asynchronous JavaScript stack trace that preceded this stack, if available.
    """

    description: str
    callFrames: List['CallFrame']
    # actual: StackTrace
    parent: Dict[str, Union[Dict[str, Any], str, bool, int, float, List]]
    parentId: 'StackTraceId'


class StackTraceId(TypedDict, total=False):
    """
    If `debuggerId` is set stack trace comes from another debugger and can be resolved there. This
    allows to track cross-debugger calls. See `Runtime.StackTrace` and `Debugger.paused` for usages.

    """

    id: str
    debuggerId: str


class StickyPositionConstraint(TypedDict, total=False):
    """
    Sticky position constraints.

    Attributes:
        stickyBoxRect: Layout rectangle of the sticky element before being shifted
        containingBlockRect: Layout rectangle of the containing block of the sticky element
        nearestLayerShiftingStickyBox: The nearest sticky layer that shifts the sticky box
        nearestLayerShiftingContainingBlock: The nearest sticky layer that shifts the containing block
    """

    stickyBoxRect: 'Rect'
    containingBlockRect: 'Rect'
    nearestLayerShiftingStickyBox: str
    nearestLayerShiftingContainingBlock: str


class StorageId(TypedDict):
    """
    DOM Storage identifier.

    Attributes:
        securityOrigin: Security origin for the storage.
        isLocalStorage: Whether the storage is local storage (not session storage).
    """

    securityOrigin: str
    isLocalStorage: bool


class StyleDeclarationEdit(TypedDict):
    """
    A descriptor of operation to mutate style declaration text.

    Attributes:
        styleSheetId: The css style sheet identifier.
        range: The range of the style text in the enclosing stylesheet.
        text: New style text.
    """

    styleSheetId: str
    range: 'SourceRange'
    text: str


class TargetInfo(TypedDict, total=False):
    """
    Attributes:
        attached: Whether the target has an attached client.
        openerId: Opener target Id
    """

    targetId: str
    type: str
    title: str
    url: str
    attached: bool
    openerId: str
    browserContextId: str


class TextBoxSnapshot(TypedDict):
    """
    Table of details of the post layout rendered text positions. The exact layout should not be regarded as
    stable and may change between versions.

    Attributes:
        layoutIndex: Index of the layout tree node that owns this box collection.
        bounds: The absolute position bounding box.
        start: The starting index in characters, for this post layout textbox substring. Characters that
            would be represented as a surrogate pair in UTF-16 have length 2.
        length: The number of characters in this post layout textbox substring. Characters that would be
            represented as a surrogate pair in UTF-16 have length 2.
    """

    layoutIndex: List[int]
    bounds: List[List[float]]
    start: List[int]
    length: List[int]


class TouchPoint(TypedDict, total=False):
    """
    Attributes:
        x: X coordinate of the event relative to the main frame's viewport in CSS pixels.
        y: Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to
            the top of the viewport and Y increases as it proceeds towards the bottom of the viewport.
        radiusX: X radius of the touch area (default: 1.0).
        radiusY: Y radius of the touch area (default: 1.0).
        rotationAngle: Rotation angle (default: 0.0).
        force: Force (default: 1.0).
        id: Identifier used to track touch sources between events, must be unique within an event.
    """

    x: float
    y: float
    radiusX: float
    radiusY: float
    rotationAngle: float
    force: float
    id: float


class TraceConfig(TypedDict, total=False):
    """
    Attributes:
        recordMode: Controls how the trace buffer stores data.
        enableSampling: Turns on JavaScript stack sampling.
        enableSystrace: Turns on system tracing.
        enableArgumentFilter: Turns on argument filter.
        includedCategories: Included category filters.
        excludedCategories: Excluded category filters.
        syntheticDelays: Configuration to synthesize the delays in tracing.
        memoryDumpConfig: Configuration for memory dump triggers. Used only when "memory-infra" category is enabled.
    """

    recordMode: Literal['recordUntilFull', 'recordContinuously', 'recordAsMuchAsPossible', 'echoToConsole']
    enableSampling: bool
    enableSystrace: bool
    enableArgumentFilter: bool
    includedCategories: List[str]
    excludedCategories: List[str]
    syntheticDelays: List[str]
    memoryDumpConfig: Dict[str, str]


class TypeObject(TypedDict):
    """
    Describes a type collected during runtime.

    Attributes:
        name: Name of a type collected with type profiling.
    """

    name: str


class TypeProfileEntry(TypedDict):
    """
    Source offset and types for a parameter or return value.

    Attributes:
        offset: Source offset of the parameter or end of function for return values.
        types: The types for this parameter or return value.
    """

    offset: int
    types: List['TypeObject']


class UsageForType(TypedDict):
    """
    Usage for a storage type.

    Attributes:
        storageType: Name of storage type.
        usage: Storage usage (bytes).
    """

    storageType: Literal[
        'appcache',
        'cookies',
        'file_systems',
        'indexeddb',
        'local_storage',
        'shader_cache',
        'websql',
        'service_workers',
        'cache_storage',
        'all',
        'other',
    ]
    usage: float


class Value(TypedDict, total=False):
    """
    Data for a simple selector (these are delimited by commas in a selector list).

    Attributes:
        text: Value text.
        range: Value range in the underlying resource (if available).
    """

    text: str
    range: 'SourceRange'


class VideoDecodeAcceleratorCapability(TypedDict):
    """
    Describes a supported video decoding profile with its associated minimum and
    maximum resolutions.

    Attributes:
        profile: Video codec profile that is supported, e.g. VP9 Profile 2.
        maxResolution: Maximum video dimensions in pixels supported for this |profile|.
        minResolution: Minimum video dimensions in pixels supported for this |profile|.
    """

    profile: str
    maxResolution: 'Size'
    minResolution: 'Size'


class VideoEncodeAcceleratorCapability(TypedDict):
    """
    Describes a supported video encoding profile with its associated maximum
    resolution and maximum framerate.

    Attributes:
        profile: Video codec profile that is supported, e.g H264 Main.
        maxResolution: Maximum video dimensions in pixels supported for this |profile|.
        maxFramerateNumerator: Maximum encoding framerate in frames per second supported for this
            |profile|, as fraction's numerator and denominator, e.g. 24/1 fps,
            24000/1001 fps, etc.
    """

    profile: str
    maxResolution: 'Size'
    maxFramerateNumerator: int
    maxFramerateDenominator: int


class Viewport(TypedDict):
    """
    Viewport for capturing screenshot.

    Attributes:
        x: X offset in device independent pixels (dip).
        y: Y offset in device independent pixels (dip).
        width: Rectangle width in device independent pixels (dip).
        height: Rectangle height in device independent pixels (dip).
        scale: Page scale factor.
    """

    x: float
    y: float
    width: float
    height: float
    scale: float


class ViolationSetting(TypedDict):
    """
    Violation configuration setting.

    Attributes:
        name: Violation type.
        threshold: Time threshold to trigger upon.
    """

    name: Literal[
        'longTask', 'longLayout', 'blockedEvent', 'blockedParser', 'discouragedAPIUse', 'handler', 'recurringHandler'
    ]
    threshold: float


class VirtualAuthenticatorOptions(TypedDict, total=False):
    """
    Attributes:
        hasResidentKey: Defaults to false.
        hasUserVerification: Defaults to false.
        automaticPresenceSimulation: If set to true, tests of user presence will succeed immediately.
            Otherwise, they will not be resolved. Defaults to true.
        isUserVerified: Sets whether User Verification succeeds or fails for an authenticator.
            Defaults to false.
    """

    protocol: Literal['u2f', 'ctap2']
    transport: Literal['usb', 'nfc', 'ble', 'cable', 'internal']
    hasResidentKey: bool
    hasUserVerification: bool
    automaticPresenceSimulation: bool
    isUserVerified: bool


class VisibleSecurityState(TypedDict, total=False):
    """
    Security state information about the page.

    Attributes:
        securityState: The security level of the page.
        certificateSecurityState: Security state details about the page certificate.
        safetyTipInfo: The type of Safety Tip triggered on the page. Note that this field will be set even if the Safety Tip UI was not actually shown.
        securityStateIssueIds: Array of security state issues ids.
    """

    securityState: Literal['unknown', 'neutral', 'insecure', 'secure', 'info', 'insecure-broken']
    certificateSecurityState: 'CertificateSecurityState'
    safetyTipInfo: 'SafetyTipInfo'
    securityStateIssueIds: List[str]


class VisualViewport(TypedDict, total=False):
    """
    Visual viewport position, dimensions, and scale.

    Attributes:
        offsetX: Horizontal offset relative to the layout viewport (CSS pixels).
        offsetY: Vertical offset relative to the layout viewport (CSS pixels).
        pageX: Horizontal offset relative to the document (CSS pixels).
        pageY: Vertical offset relative to the document (CSS pixels).
        clientWidth: Width (CSS pixels), excludes scrollbar if present.
        clientHeight: Height (CSS pixels), excludes scrollbar if present.
        scale: Scale relative to the ideal viewport (size at width=device-width).
        zoom: Page zoom factor (CSS to device independent pixels ratio).
    """

    offsetX: float
    offsetY: float
    pageX: float
    pageY: float
    clientWidth: float
    clientHeight: float
    scale: float
    zoom: float


class WebSocketFrame(TypedDict):
    """
    WebSocket message data. This represents an entire WebSocket message, not just a fragmented frame as the name suggests.

    Attributes:
        opcode: WebSocket message opcode.
        mask: WebSocket message mask.
        payloadData: WebSocket message payload data.
            If the opcode is 1, this is a text message and payloadData is a UTF-8 string.
            If the opcode isn't 1, then payloadData is a base64 encoded string representing binary data.
    """

    opcode: float
    mask: bool
    payloadData: str


class WebSocketRequest(TypedDict):
    """
    WebSocket request data.

    Attributes:
        headers: HTTP request headers.
    """

    headers: Dict[str, str]


class WebSocketResponse(TypedDict, total=False):
    """
    WebSocket response data.

    Attributes:
        status: HTTP response status code.
        statusText: HTTP response status text.
        headers: HTTP response headers.
        headersText: HTTP response headers text.
        requestHeaders: HTTP request headers.
        requestHeadersText: HTTP request headers text.
    """

    status: int
    statusText: str
    headers: Dict[str, str]
    headersText: str
    requestHeaders: Dict[str, str]
    requestHeadersText: str


class acceptedPayload(TypedDict):
    """
    Informs that port was successfully bound and got a specified connection id.

    Attributes:
        port: Port number that was successfully bound.
        connectionId: Connection id to be used.
    """

    port: int
    connectionId: str


class addDatabasePayload(TypedDict):
    database: 'Database'


class addHeapSnapshotChunkPayload(TypedDict):
    chunk: str


class addRuleReturnValues(TypedDict):
    """
    Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the
    position specified by `location`.

    Attributes:
        rule: The newly created rule.
    """

    rule: 'CSSRule'


class addScriptToEvaluateOnLoadReturnValues(TypedDict):
    """
    Deprecated, please use addScriptToEvaluateOnNewDocument instead.

    Attributes:
        identifier: Identifier of the added script.
    """

    identifier: str


class addScriptToEvaluateOnNewDocumentReturnValues(TypedDict):
    """
    Evaluates given script in every frame upon creation (before loading frame's scripts).

    Attributes:
        identifier: Identifier of the added script.
    """

    identifier: str


class addVirtualAuthenticatorReturnValues(TypedDict):
    """
    Creates and adds a virtual authenticator.

    """

    authenticatorId: str


class animationCanceledPayload(TypedDict):
    """
    Event for when an animation has been cancelled.

    Attributes:
        id: Id of the animation that was cancelled.
    """

    id: str


class animationCreatedPayload(TypedDict):
    """
    Event for each animation that has been created.

    Attributes:
        id: Id of the animation that was created.
    """

    id: str


class animationStartedPayload(TypedDict):
    """
    Event for animation that has been started.

    Attributes:
        animation: Animation that was started.
    """

    animation: 'Animation'


class applicationCacheStatusUpdatedPayload(TypedDict):
    """
    Attributes:
        frameId: Identifier of the frame containing document whose application cache updated status.
        manifestURL: Manifest URL.
        status: Updated application cache status.
    """

    frameId: str
    manifestURL: str
    status: int


class attachToBrowserTargetReturnValues(TypedDict):
    """
    Attaches to the browser target, only uses flat sessionId mode.

    Attributes:
        sessionId: Id assigned to the session.
    """

    sessionId: str


class attachToTargetReturnValues(TypedDict):
    """
    Attaches to the target with given id.

    Attributes:
        sessionId: Id assigned to the session.
    """

    sessionId: str


class attachedToTargetPayload(TypedDict):
    """
    Issued when attached to target because of auto-attach or `attachToTarget` command.

    Attributes:
        sessionId: Identifier assigned to the session used to send/receive messages.
    """

    sessionId: str
    targetInfo: 'TargetInfo'
    waitingForDebugger: bool


class attributeModifiedPayload(TypedDict):
    """
    Fired when `Element`'s attribute is modified.

    Attributes:
        nodeId: Id of the node that has changed.
        name: Attribute name.
        value: Attribute value.
    """

    nodeId: int
    name: str
    value: str


class attributeRemovedPayload(TypedDict):
    """
    Fired when `Element`'s attribute is removed.

    Attributes:
        nodeId: Id of the node that has changed.
        name: A ttribute name.
    """

    nodeId: int
    name: str


class audioListenerCreatedPayload(TypedDict):
    """
    Notifies that the construction of an AudioListener has finished.

    """

    listener: 'AudioListener'


class audioListenerWillBeDestroyedPayload(TypedDict):
    """
    Notifies that a new AudioListener has been created.

    """

    contextId: str
    listenerId: str


class audioNodeCreatedPayload(TypedDict):
    """
    Notifies that a new AudioNode has been created.

    """

    node: 'AudioNode'


class audioNodeWillBeDestroyedPayload(TypedDict):
    """
    Notifies that an existing AudioNode has been destroyed.

    """

    contextId: str
    nodeId: str


class audioParamCreatedPayload(TypedDict):
    """
    Notifies that a new AudioParam has been created.

    """

    param: 'AudioParam'


class audioParamWillBeDestroyedPayload(TypedDict):
    """
    Notifies that an existing AudioParam has been destroyed.

    """

    contextId: str
    nodeId: str
    paramId: str


class authRequiredPayload(TypedDict):
    """
    Issued when the domain is enabled with handleAuthRequests set to true.
    The request is paused until client responds with continueWithAuth.

    Attributes:
        requestId: Each request the page makes will have a unique id.
        request: The details of the request.
        frameId: The id of the frame that initiated the request.
        resourceType: How the requested resource will be used.
        authChallenge: Details of the Authorization Challenge encountered.
            If this is set, client should respond with continueRequest that
            contains AuthChallengeResponse.
    """

    requestId: str
    request: 'Request'
    frameId: str
    resourceType: Literal[
        'Document',
        'Stylesheet',
        'Image',
        'Media',
        'Font',
        'Script',
        'TextTrack',
        'XHR',
        'Fetch',
        'EventSource',
        'WebSocket',
        'Manifest',
        'SignedExchange',
        'Ping',
        'CSPViolationReport',
        'Other',
    ]
    authChallenge: 'AuthChallenge'


class awaitPromiseReturnValues(TypedDict, total=False):
    """
    Add handler to promise with given promise object id.

    Attributes:
        result: Promise result. Will contain rejected value if promise was rejected.
        exceptionDetails: Exception details if stack strace is available.
    """

    result: 'RemoteObject'
    exceptionDetails: 'ExceptionDetails'


class backgroundServiceEventReceivedPayload(TypedDict):
    """
    Called with all existing backgroundServiceEvents when enabled, and all new
    events afterwards if enabled and recording.

    """

    backgroundServiceEvent: 'BackgroundServiceEvent'


class beginFrameReturnValues(TypedDict, total=False):
    """
    Sends a BeginFrame to the target and returns when the frame was completed. Optionally captures a
    screenshot from the resulting frame. Requires that the target was created with enabled
    BeginFrameControl. Designed for use with --run-all-compositor-stages-before-draw, see also
    https://goo.gl/3zHXhB for more background.

    Attributes:
        hasDamage: Whether the BeginFrame resulted in damage and, thus, a new frame was committed to the
            display. Reported for diagnostic uses, may be removed in the future.
        screenshotData: Base64-encoded image data of the screenshot, if one was requested and successfully taken.
    """

    hasDamage: bool
    screenshotData: bytes


class bindingCalledPayload(TypedDict):
    """
    Notification is issued every time when binding is called.

    Attributes:
        executionContextId: Identifier of the context where the call was made.
    """

    name: str
    payload: str
    executionContextId: int


class breakpointResolvedPayload(TypedDict):
    """
    Fired when breakpoint is resolved to an actual script and location.

    Attributes:
        breakpointId: Breakpoint unique identifier.
        location: Actual breakpoint location.
    """

    breakpointId: str
    location: 'Location'


class bufferUsagePayload(TypedDict, total=False):
    """
    Attributes:
        percentFull: A number in range [0..1] that indicates the used size of event buffer as a fraction of its
            total size.
        eventCount: An approximate number of events in the trace log.
        value: A number in range [0..1] that indicates the used size of event buffer as a fraction of its
            total size.
    """

    percentFull: float
    eventCount: float
    value: float


class cacheStorageContentUpdatedPayload(TypedDict):
    """
    A cache's contents have been modified.

    Attributes:
        origin: Origin to update.
        cacheName: Name of cache in origin.
    """

    origin: str
    cacheName: str


class cacheStorageListUpdatedPayload(TypedDict):
    """
    A cache has been added/deleted.

    Attributes:
        origin: Origin to update.
    """

    origin: str


class callFunctionOnReturnValues(TypedDict, total=False):
    """
    Calls function with given declaration on the given object. Object group of the result is
    inherited from the target object.

    Attributes:
        result: Call result.
        exceptionDetails: Exception details.
    """

    result: 'RemoteObject'
    exceptionDetails: 'ExceptionDetails'


class canClearBrowserCacheReturnValues(TypedDict):
    """
    Tells whether clearing browser cache is supported.

    Attributes:
        result: True if browser cache can be cleared.
    """

    result: bool


class canClearBrowserCookiesReturnValues(TypedDict):
    """
    Tells whether clearing browser cookies is supported.

    Attributes:
        result: True if browser cookies can be cleared.
    """

    result: bool


class canEmulateNetworkConditionsReturnValues(TypedDict):
    """
    Tells whether emulation of network conditions is supported.

    Attributes:
        result: True if emulation of network conditions is supported.
    """

    result: bool


class canEmulateReturnValues(TypedDict):
    """
    Tells whether emulation is supported.

    Attributes:
        result: True if emulation is supported.
    """

    result: bool


class captureScreenshotReturnValues(TypedDict):
    """
    Capture page screenshot.

    Attributes:
        data: Base64-encoded image data.
    """

    data: bytes


class captureSnapshotReturnValues(TypedDict):
    """
    Returns a snapshot of the page as a string. For MHTML format, the serialization includes
    iframes, shadow DOM, external resources, and element-inline styles.

    Attributes:
        data: Serialized page data.
    """

    data: str


class certificateErrorPayload(TypedDict):
    """
    There is a certificate error. If overriding certificate errors is enabled, then it should be
    handled with the `handleCertificateError` command. Note: this event does not fire if the
    certificate error has been allowed internally. Only one client per target should override
    certificate errors at the same time.

    Attributes:
        eventId: The ID of the event.
        errorType: The type of the error.
        requestURL: The url that was requested.
    """

    eventId: int
    errorType: str
    requestURL: str


class characterDataModifiedPayload(TypedDict):
    """
    Mirrors `DOMCharacterDataModified` event.

    Attributes:
        nodeId: Id of the node that has changed.
        characterData: New text value.
    """

    nodeId: int
    characterData: str


class childNodeCountUpdatedPayload(TypedDict):
    """
    Fired when `Container`'s child node count has changed.

    Attributes:
        nodeId: Id of the node that has changed.
        childNodeCount: New node count.
    """

    nodeId: int
    childNodeCount: int


class childNodeInsertedPayload(TypedDict):
    """
    Mirrors `DOMNodeInserted` event.

    Attributes:
        parentNodeId: Id of the node that has changed.
        previousNodeId: If of the previous siblint.
        node: Inserted node data.
    """

    parentNodeId: int
    previousNodeId: int
    node: 'Node'


class childNodeRemovedPayload(TypedDict):
    """
    Mirrors `DOMNodeRemoved` event.

    Attributes:
        parentNodeId: Parent id.
        nodeId: Id of the node that has been removed.
    """

    parentNodeId: int
    nodeId: int


class closeTargetReturnValues(TypedDict):
    """
    Closes the target. If the target is a page that gets closed too.

    """

    success: bool


class collectClassNamesFromSubtreeReturnValues(TypedDict):
    """
    Collects class names for the node with given id and all of it's child nodes.

    Attributes:
        classNames: Class name list.
    """

    classNames: List[str]


class collectClassNamesReturnValues(TypedDict):
    """
    Returns all class names from specified stylesheet.

    Attributes:
        classNames: Class name list.
    """

    classNames: List[str]


class compilationCacheProducedPayload(TypedDict):
    """
    Issued for every compilation cache generated. Is only available
    if Page.setGenerateCompilationCache is enabled.

    Attributes:
        data: Base64-encoded data
    """

    url: str
    data: bytes


class compileScriptReturnValues(TypedDict, total=False):
    """
    Compiles expression.

    Attributes:
        scriptId: Id of the script.
        exceptionDetails: Exception details.
    """

    scriptId: str
    exceptionDetails: 'ExceptionDetails'


class compositingReasonsReturnValues(TypedDict):
    """
    Provides the reasons why the given layer was composited.

    Attributes:
        compositingReasons: A list of strings specifying reasons for the given layer to become composited.
    """

    compositingReasons: List[str]


class consoleAPICalledPayload(TypedDict, total=False):
    """
    Issued when console API was called.

    Attributes:
        type: Type of the call.
        args: Call arguments.
        executionContextId: Identifier of the context where the call was made.
        timestamp: Call timestamp.
        stackTrace: Stack trace captured when the call was made. The async stack chain is automatically reported for
            the following call types: `assert`, `error`, `trace`, `warning`. For other types the async call
            chain can be retrieved using `Debugger.getStackTrace` and `stackTrace.parentId` field.
        context: Console context descriptor for calls on non-default console context (not console.*):
            'anonymous#unique-logger-id' for call on unnamed context, 'name#unique-logger-id' for call
            on named context.
    """

    type: Literal[
        'log',
        'debug',
        'info',
        'error',
        'warning',
        'dir',
        'dirxml',
        'table',
        'trace',
        'clear',
        'startGroup',
        'startGroupCollapsed',
        'endGroup',
        'assert',
        'profile',
        'profileEnd',
        'count',
        'timeEnd',
    ]
    args: List['RemoteObject']
    executionContextId: int
    timestamp: float
    stackTrace: 'StackTrace'
    context: str


class consoleProfileFinishedPayload(TypedDict, total=False):
    """
    Attributes:
        location: Location of console.profileEnd().
        title: Profile title passed as an argument to console.profile().
    """

    id: str
    location: 'Location'
    profile: 'Profile'
    title: str


class consoleProfileStartedPayload(TypedDict, total=False):
    """
    Sent when new profile recording is started using console.profile() call.

    Attributes:
        location: Location of console.profile().
        title: Profile title passed as an argument to console.profile().
    """

    id: str
    location: 'Location'
    title: str


class contextChangedPayload(TypedDict):
    """
    Notifies that existing BaseAudioContext has changed some properties (id stays the same)..

    """

    context: 'BaseAudioContext'


class contextCreatedPayload(TypedDict):
    """
    Notifies that a new BaseAudioContext has been created.

    """

    context: 'BaseAudioContext'


class contextWillBeDestroyedPayload(TypedDict):
    """
    Notifies that an existing BaseAudioContext will be destroyed.

    """

    contextId: str


class copyToReturnValues(TypedDict):
    """
    Creates a deep copy of the specified node and places it into the target container before the
    given anchor.

    Attributes:
        nodeId: Id of the node clone.
    """

    nodeId: int


class createBrowserContextReturnValues(TypedDict):
    """
    Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than
    one.

    Attributes:
        browserContextId: The id of the context created.
    """

    browserContextId: str


class createIsolatedWorldReturnValues(TypedDict):
    """
    Creates an isolated world for the given frame.

    Attributes:
        executionContextId: Execution context of the isolated world.
    """

    executionContextId: int


class createStyleSheetReturnValues(TypedDict):
    """
    Creates a new special "via-inspector" stylesheet in the frame with given `frameId`.

    Attributes:
        styleSheetId: Identifier of the created "via-inspector" stylesheet.
    """

    styleSheetId: str


class createTargetReturnValues(TypedDict):
    """
    Creates a new page.

    Attributes:
        targetId: The id of the page opened.
    """

    targetId: str


class dataCollectedPayload(TypedDict):
    """
    Contains an bucket of collected trace events. When tracing is stopped collected events will be
    send as a sequence of dataCollected events followed by tracingComplete event.

    """

    value: List[Dict[str, str]]


class dataReceivedPayload(TypedDict):
    """
    Fired when data chunk was received over the network.

    Attributes:
        requestId: Request identifier.
        timestamp: Timestamp.
        dataLength: Data chunk length.
        encodedDataLength: Actual bytes received (might be less than dataLength for compressed encodings).
    """

    requestId: str
    timestamp: float
    dataLength: int
    encodedDataLength: int


class describeNodeReturnValues(TypedDict):
    """
    Describes node given its id, does not require domain to be enabled. Does not start tracking any
    objects, can be used for automation.

    Attributes:
        node: Node description.
    """

    node: 'Node'


class detachedFromTargetPayload(TypedDict, total=False):
    """
    Issued when detached from target for any reason (including `detachFromTarget` command). Can be
    issued multiple times per target if multiple sessions have been attached to it.

    Attributes:
        sessionId: Detached session identifier.
        targetId: Deprecated.
    """

    sessionId: str
    targetId: str


class detachedPayload(TypedDict):
    """
    Fired when remote debugging connection is about to be terminated. Contains detach reason.

    Attributes:
        reason: The reason why connection has been terminated.
    """

    reason: str


class distributedNodesUpdatedPayload(TypedDict):
    """
    Called when distrubution is changed.

    Attributes:
        insertionPointId: Insertion point where distrubuted nodes were updated.
        distributedNodes: Distributed nodes for given insertion point.
    """

    insertionPointId: int
    distributedNodes: List['BackendNode']


class domContentEventFiredPayload(TypedDict):
    timestamp: float


class domStorageItemAddedPayload(TypedDict):
    storageId: 'StorageId'
    key: str
    newValue: str


class domStorageItemRemovedPayload(TypedDict):
    storageId: 'StorageId'
    key: str


class domStorageItemUpdatedPayload(TypedDict):
    storageId: 'StorageId'
    key: str
    oldValue: str
    newValue: str


class domStorageItemsClearedPayload(TypedDict):
    storageId: 'StorageId'


class downloadWillBeginPayload(TypedDict):
    """
    Fired when page is about to start a download.

    Attributes:
        frameId: Id of the frame that caused download to begin.
        url: URL of the resource being downloaded.
    """

    frameId: str
    url: str


class enableReturnValues(TypedDict):
    """
    Enables debugger for the given page. Clients should not assume that the debugging has been
    enabled until the result for this command is received.

    Attributes:
        debuggerId: Unique identifier of the debugger.
    """

    debuggerId: str


class entryAddedPayload(TypedDict):
    """
    Issued when new message was logged.

    Attributes:
        entry: The entry.
    """

    entry: 'LogEntry'


class evaluateOnCallFrameReturnValues(TypedDict, total=False):
    """
    Evaluates expression on a given call frame.

    Attributes:
        result: Object wrapper for the evaluation result.
        exceptionDetails: Exception details.
    """

    result: 'RemoteObject'
    exceptionDetails: 'ExceptionDetails'


class evaluateReturnValues(TypedDict, total=False):
    """
    Evaluates expression on global object.

    Attributes:
        result: Evaluation result.
        exceptionDetails: Exception details.
    """

    result: 'RemoteObject'
    exceptionDetails: 'ExceptionDetails'


class eventSourceMessageReceivedPayload(TypedDict):
    """
    Fired when EventSource message is received.

    Attributes:
        requestId: Request identifier.
        timestamp: Timestamp.
        eventName: Message type.
        eventId: Message identifier.
        data: Message content.
    """

    requestId: str
    timestamp: float
    eventName: str
    eventId: str
    data: str


class exceptionRevokedPayload(TypedDict):
    """
    Issued when unhandled exception was revoked.

    Attributes:
        reason: Reason describing why exception was revoked.
        exceptionId: The id of revoked exception, as reported in `exceptionThrown`.
    """

    reason: str
    exceptionId: int


class exceptionThrownPayload(TypedDict):
    """
    Issued when exception was thrown and unhandled.

    Attributes:
        timestamp: Timestamp of the exception.
    """

    timestamp: float
    exceptionDetails: 'ExceptionDetails'


class executeSQLReturnValues(TypedDict, total=False):
    columnNames: List[str]
    values: List[Any]
    sqlError: 'Error'


class executionContextCreatedPayload(TypedDict):
    """
    Issued when new execution context is created.

    Attributes:
        context: A newly created execution context.
    """

    context: 'ExecutionContextDescription'


class executionContextDestroyedPayload(TypedDict):
    """
    Issued when execution context is destroyed.

    Attributes:
        executionContextId: Id of the destroyed context
    """

    executionContextId: int


class fileChooserOpenedPayload(TypedDict):
    """
    Emitted only when `page.interceptFileChooser` is enabled.

    Attributes:
        frameId: Id of the frame containing input node.
        backendNodeId: Input node id.
        mode: Input mode.
    """

    frameId: str
    backendNodeId: int
    mode: Literal['selectSingle', 'selectMultiple']


class fontsUpdatedPayload(TypedDict, total=False):
    """
    Fires whenever a web font is updated.  A non-empty font parameter indicates a successfully loaded
    web font

    Attributes:
        font: The web font that has loaded.
    """

    font: 'FontFace'


class frameAttachedPayload(TypedDict, total=False):
    """
    Fired when frame has been attached to its parent.

    Attributes:
        frameId: Id of the frame that has been attached.
        parentFrameId: Parent frame identifier.
        stack: JavaScript stack trace of when frame was attached, only set if frame initiated from script.
    """

    frameId: str
    parentFrameId: str
    stack: 'StackTrace'


class frameClearedScheduledNavigationPayload(TypedDict):
    """
    Fired when frame no longer has a scheduled navigation.

    Attributes:
        frameId: Id of the frame that has cleared its scheduled navigation.
    """

    frameId: str


class frameDetachedPayload(TypedDict):
    """
    Fired when frame has been detached from its parent.

    Attributes:
        frameId: Id of the frame that has been detached.
    """

    frameId: str


class frameNavigatedPayload(TypedDict):
    """
    Fired once navigation of the frame has completed. Frame is now associated with the new loader.

    Attributes:
        frame: Frame object.
    """

    frame: 'Frame'


class frameRequestedNavigationPayload(TypedDict):
    """
    Fired when a renderer-initiated navigation is requested.
    Navigation may still be cancelled after the event is issued.

    Attributes:
        frameId: Id of the frame that is being navigated.
        reason: The reason for the navigation.
        url: The destination URL for the requested navigation.
    """

    frameId: str
    reason: Literal[
        'formSubmissionGet',
        'formSubmissionPost',
        'httpHeaderRefresh',
        'scriptInitiated',
        'metaTagRefresh',
        'pageBlockInterstitial',
        'reload',
    ]
    url: str


class frameScheduledNavigationPayload(TypedDict):
    """
    Fired when frame schedules a potential navigation.

    Attributes:
        frameId: Id of the frame that has scheduled a navigation.
        delay: Delay (in seconds) until the navigation is scheduled to begin. The navigation is not
            guaranteed to start.
        reason: The reason for the navigation.
        url: The destination URL for the scheduled navigation.
    """

    frameId: str
    delay: float
    reason: Literal[
        'formSubmissionGet',
        'formSubmissionPost',
        'httpHeaderRefresh',
        'scriptInitiated',
        'metaTagRefresh',
        'pageBlockInterstitial',
        'reload',
    ]
    url: str


class frameStartedLoadingPayload(TypedDict):
    """
    Fired when frame has started loading.

    Attributes:
        frameId: Id of the frame that has started loading.
    """

    frameId: str


class frameStoppedLoadingPayload(TypedDict):
    """
    Fired when frame has stopped loading.

    Attributes:
        frameId: Id of the frame that has stopped loading.
    """

    frameId: str


class getAllCookiesReturnValues(TypedDict):
    """
    Returns all browser cookies. Depending on the backend support, will return detailed cookie
    information in the `cookies` field.

    Attributes:
        cookies: Array of cookie objects.
    """

    cookies: List['Cookie']


class getAllTimeSamplingProfileReturnValues(TypedDict):
    """
    Retrieve native memory allocations profile
    collected since renderer process startup.

    """

    profile: 'SamplingProfile'


class getAppManifestReturnValues(TypedDict, total=False):
    """
    Attributes:
        url: Manifest location.
        data: Manifest content.
    """

    url: str
    errors: List['AppManifestError']
    data: str


class getApplicationCacheForFrameReturnValues(TypedDict):
    """
    Returns relevant application cache data for the document in given frame.

    Attributes:
        applicationCache: Relevant application cache data for the document in given frame.
    """

    applicationCache: 'ApplicationCache'


class getAttributesReturnValues(TypedDict):
    """
    Returns attributes for the specified node.

    Attributes:
        attributes: An interleaved array of node attribute names and values.
    """

    attributes: List[str]


class getBackgroundColorsReturnValues(TypedDict, total=False):
    """
    Attributes:
        backgroundColors: The range of background colors behind this element, if it contains any visible text. If no
            visible text is present, this will be undefined. In the case of a flat background color,
            this will consist of simply that color. In the case of a gradient, this will consist of each
            of the color stops. For anything more complicated, this will be an empty array. Images will
            be ignored (as if the image had failed to load).
        computedFontSize: The computed font size for this node, as a CSS computed value string (e.g. '12px').
        computedFontWeight: The computed font weight for this node, as a CSS computed value string (e.g. 'normal' or
            '100').
    """

    backgroundColors: List[str]
    computedFontSize: str
    computedFontWeight: str


class getBestEffortCoverageReturnValues(TypedDict):
    """
    Collect coverage data for the current isolate. The coverage data may be incomplete due to
    garbage collection.

    Attributes:
        result: Coverage data for the current isolate.
    """

    result: List['ScriptCoverage']


class getBoxModelReturnValues(TypedDict):
    """
    Returns boxes for the given node.

    Attributes:
        model: Box model for the node.
    """

    model: 'BoxModel'


class getBrowserCommandLineReturnValues(TypedDict):
    """
    Returns the command line switches for the browser process if, and only if
    --enable-automation is on the commandline.

    Attributes:
        arguments: Commandline parameters
    """

    arguments: List[str]


class getBrowserContextsReturnValues(TypedDict):
    """
    Returns all browser contexts created with `Target.createBrowserContext` method.

    Attributes:
        browserContextIds: An array of browser context ids.
    """

    browserContextIds: List[str]


class getBrowserSamplingProfileReturnValues(TypedDict):
    """
    Retrieve native memory allocations profile
    collected since browser process startup.

    """

    profile: 'SamplingProfile'


class getCategoriesReturnValues(TypedDict):
    """
    Gets supported tracing categories.

    Attributes:
        categories: A list of supported tracing categories.
    """

    categories: List[str]


class getCertificateReturnValues(TypedDict):
    """
    Returns the DER-encoded certificate.

    """

    tableNames: List[str]


class getComputedStyleForNodeReturnValues(TypedDict):
    """
    Returns the computed style for a DOM node identified by `nodeId`.

    Attributes:
        computedStyle: Computed style for the specified DOM node.
    """

    computedStyle: List['CSSComputedStyleProperty']


class getContentQuadsReturnValues(TypedDict):
    """
    Returns quads that describe node position on the page. This method
    might return multiple quads for inline nodes.

    Attributes:
        quads: Quads that describe node layout relative to viewport.
    """

    quads: List[List[float]]


class getCookiesReturnValues(TypedDict):
    """
    Returns all browser cookies.

    Attributes:
        cookies: Array of cookie objects.
    """

    cookies: List['Cookie']


class getCredentialReturnValues(TypedDict):
    """
    Returns a single credential stored in the given virtual authenticator that
    matches the credential ID.

    """

    credential: 'Credential'


class getCredentialsReturnValues(TypedDict):
    """
    Returns all the credentials stored in the given virtual authenticator.

    """

    credentials: List['Credential']


class getCurrentTimeReturnValues(TypedDict):
    """
    Returns the current time of the an animation.

    Attributes:
        currentTime: Current time of the page.
    """

    currentTime: float


class getDOMCountersReturnValues(TypedDict):
    documents: int
    nodes: int
    jsEventListeners: int


class getDOMStorageItemsReturnValues(TypedDict):
    entries: List[List[str]]


class getDatabaseTableNamesReturnValues(TypedDict):
    tableNames: List[str]


class getDocumentReturnValues(TypedDict):
    """
    Returns the root DOM node (and optionally the subtree) to the caller.

    Attributes:
        root: Resulting node.
    """

    root: 'Node'


class getDomainsReturnValues(TypedDict):
    """
    Returns supported domains.

    Attributes:
        domains: List of supported domains.
    """

    domains: List['Domain']


class getEncodedResponseReturnValues(TypedDict, total=False):
    """
    Returns the response body and size if it were re-encoded with the specified settings. Only
    applies to images.

    Attributes:
        body: The encoded body as a base64 string. Omitted if sizeOnly is true.
        originalSize: Size before re-encoding.
        encodedSize: Size after re-encoding.
    """

    body: bytes
    originalSize: int
    encodedSize: int


class getEventListenersReturnValues(TypedDict):
    """
    Returns event listeners of the given object.

    Attributes:
        listeners: Array of relevant listeners.
    """

    listeners: List['EventListener']


class getFileInfoReturnValues(TypedDict):
    """
    Returns file information for the given
    File wrapper.

    """

    path: str


class getFlattenedDocumentReturnValues(TypedDict):
    """
    Returns the root DOM node (and optionally the subtree) to the caller.

    Attributes:
        nodes: Resulting node.
    """

    nodes: List['Node']


class getFrameOwnerReturnValues(TypedDict, total=False):
    """
    Returns iframe node that owns iframe with the given domain.

    Attributes:
        backendNodeId: Resulting node.
        nodeId: Id of the node at given coordinates, only when enabled and requested document.
    """

    backendNodeId: int
    nodeId: int


class getFrameTreeReturnValues(TypedDict):
    """
    Returns present frame tree structure.

    Attributes:
        frameTree: Present frame tree structure.
    """

    frameTree: 'FrameTree'


class getFramesWithManifestsReturnValues(TypedDict):
    """
    Returns array of frame identifiers with manifest urls for each frame containing a document
    associated with some application cache.

    Attributes:
        frameIds: Array of frame identifiers with manifest urls for each frame containing a document
            associated with some application cache.
    """

    frameIds: List['FrameWithManifest']


class getFullAXTreeReturnValues(TypedDict):
    """
    Fetches the entire accessibility tree

    """

    nodes: List['AXNode']


class getHeapObjectIdReturnValues(TypedDict):
    """
    Attributes:
        heapSnapshotObjectId: Id of the heap snapshot object corresponding to the passed remote object id.
    """

    heapSnapshotObjectId: str


class getHeapUsageReturnValues(TypedDict):
    """
    Returns the JavaScript heap usage.
    It is the total usage of the corresponding isolate not scoped to a particular Runtime.

    Attributes:
        usedSize: Used heap size in bytes.
        totalSize: Allocated heap size in bytes.
    """

    usedSize: float
    totalSize: float


class getHighlightObjectForTestReturnValues(TypedDict):
    """
    For testing.

    Attributes:
        highlight: Highlight data for the node.
    """

    highlight: Dict[str, str]


class getHistogramReturnValues(TypedDict):
    """
    Get a Chrome histogram by name.

    Attributes:
        histogram: Histogram.
    """

    histogram: 'Histogram'


class getHistogramsReturnValues(TypedDict):
    """
    Get Chrome histograms.

    Attributes:
        histograms: Histograms.
    """

    histograms: List['Histogram']


class getInfoReturnValues(TypedDict):
    """
    Returns information about the system.

    Attributes:
        gpu: Information about the GPUs on the system.
        modelName: A platform-dependent description of the model of the machine. On Mac OS, this is, for
            example, 'MacBookPro'. Will be the empty string if not supported.
        modelVersion: A platform-dependent description of the version of the machine. On Mac OS, this is, for
            example, '10.1'. Will be the empty string if not supported.
        commandLine: The command line string used to launch the browser. Will be the empty string if not
            supported.
    """

    gpu: 'GPUInfo'
    modelName: str
    modelVersion: str
    commandLine: str


class getInlineStylesForNodeReturnValues(TypedDict, total=False):
    """
    Returns the styles defined inline (explicitly in the "style" attribute and implicitly, using DOM
    attributes) for a DOM node identified by `nodeId`.

    Attributes:
        inlineStyle: Inline style for the specified DOM node.
        attributesStyle: Attribute-defined element style (e.g. resulting from "width=20 height=100%").
    """

    inlineStyle: 'CSSStyle'
    attributesStyle: 'CSSStyle'


class getInstallabilityErrorsReturnValues(TypedDict):
    errors: List[str]


class getIsolateIdReturnValues(TypedDict):
    """
    Returns the isolate id.

    Attributes:
        id: The isolate id.
    """

    id: str


class getLayoutMetricsReturnValues(TypedDict):
    """
    Returns metrics relating to the layouting of the page, such as viewport bounds/scale.

    Attributes:
        layoutViewport: Metrics relating to the layout viewport.
        visualViewport: Metrics relating to the visual viewport.
        contentSize: Size of scrollable area.
    """

    layoutViewport: 'LayoutViewport'
    visualViewport: 'VisualViewport'
    contentSize: 'Rect'


class getManifestForFrameReturnValues(TypedDict):
    """
    Returns manifest URL for document in the given frame.

    Attributes:
        manifestURL: Manifest URL for document in the given frame.
    """

    manifestURL: str


class getMatchedStylesForNodeReturnValues(TypedDict, total=False):
    """
    Returns requested styles for a DOM node identified by `nodeId`.

    Attributes:
        inlineStyle: Inline style for the specified DOM node.
        attributesStyle: Attribute-defined element style (e.g. resulting from "width=20 height=100%").
        matchedCSSRules: CSS rules matching this node, from all applicable stylesheets.
        pseudoElements: Pseudo style matches for this node.
        inherited: A chain of inherited styles (from the immediate node parent up to the DOM tree root).
        cssKeyframesRules: A list of CSS keyframed animations matching this node.
    """

    inlineStyle: 'CSSStyle'
    attributesStyle: 'CSSStyle'
    matchedCSSRules: List['RuleMatch']
    pseudoElements: List['PseudoElementMatches']
    inherited: List['InheritedStyleEntry']
    cssKeyframesRules: List['CSSKeyframesRule']


class getMediaQueriesReturnValues(TypedDict):
    """
    Returns all media queries parsed by the rendering engine.

    """

    medias: List['CSSMedia']


class getMetadataReturnValues(TypedDict):
    """
    Gets metadata of an object store

    Attributes:
        entriesCount: the entries count
        keyGeneratorValue: the current value of key generator, to become the next inserted
            key into the object store. Valid if objectStore.autoIncrement
            is true.
    """

    entriesCount: float
    keyGeneratorValue: float


class getMetricsReturnValues(TypedDict):
    """
    Retrieve current values of run-time metrics.

    Attributes:
        metrics: Current values for run-time metrics.
    """

    metrics: List['Metric']


class getNavigationHistoryReturnValues(TypedDict):
    """
    Returns navigation history for the current page.

    Attributes:
        currentIndex: Index of the current navigation history entry.
        entries: Array of navigation history entries.
    """

    currentIndex: int
    entries: List['NavigationEntry']


class getNodeForLocationReturnValues(TypedDict, total=False):
    """
    Returns node id at given location. Depending on whether DOM domain is enabled, nodeId is
    either returned or not.

    Attributes:
        backendNodeId: Resulting node.
        frameId: Frame this node belongs to.
        nodeId: Id of the node at given coordinates, only when enabled and requested document.
    """

    backendNodeId: int
    frameId: str
    nodeId: int


class getNodeStackTracesReturnValues(TypedDict, total=False):
    """
    Gets stack traces associated with a Node. As of now, only provides stack trace for Node creation.

    Attributes:
        creation: Creation stack trace, if available.
    """

    creation: 'StackTrace'


class getObjectByHeapObjectIdReturnValues(TypedDict):
    """
    Attributes:
        result: Evaluation result.
    """

    result: 'RemoteObject'


class getOuterHTMLReturnValues(TypedDict):
    """
    Returns node's HTML markup.

    Attributes:
        outerHTML: Outer HTML markup.
    """

    outerHTML: str


class getPartialAXTreeReturnValues(TypedDict):
    """
    Fetches the accessibility node and partial accessibility tree for this DOM node, if it exists.

    Attributes:
        nodes: The `Accessibility.AXNode` for this DOM node, if it exists, plus its ancestors, siblings and
            children, if requested.
    """

    nodes: List['AXNode']


class getPlatformFontsForNodeReturnValues(TypedDict):
    """
    Requests information about platform fonts which we used to render child TextNodes in the given
    node.

    Attributes:
        fonts: Usage statistics for every employed platform font.
    """

    fonts: List['PlatformFontUsage']


class getPlaybackRateReturnValues(TypedDict):
    """
    Gets the playback rate of the document timeline.

    Attributes:
        playbackRate: Playback rate for animations on page.
    """

    playbackRate: float


class getPossibleBreakpointsReturnValues(TypedDict):
    """
    Returns possible locations for breakpoint. scriptId in start and end range locations should be
    the same.

    Attributes:
        locations: List of the possible breakpoint locations.
    """

    locations: List['BreakLocation']


class getProcessInfoReturnValues(TypedDict):
    """
    Returns information about all running processes.

    Attributes:
        processInfo: An array of process info blocks.
    """

    processInfo: List['ProcessInfo']


class getPropertiesReturnValues(TypedDict, total=False):
    """
    Returns properties of a given object. Object group of the result is inherited from the target
    object.

    Attributes:
        result: Object properties.
        internalProperties: Internal object properties (only of the element itself).
        privateProperties: Object private properties.
        exceptionDetails: Exception details.
    """

    result: List['PropertyDescriptor']
    internalProperties: List['InternalPropertyDescriptor']
    privateProperties: List['PrivatePropertyDescriptor']
    exceptionDetails: 'ExceptionDetails'


class getRealtimeDataReturnValues(TypedDict):
    """
    Fetch the realtime data from the registered contexts.

    """

    realtimeData: 'ContextRealtimeData'


class getRelayoutBoundaryReturnValues(TypedDict):
    """
    Returns the id of the nearest ancestor that is a relayout boundary.

    Attributes:
        nodeId: Relayout boundary node id for the given node.
    """

    nodeId: int


class getRequestPostDataReturnValues(TypedDict):
    """
    Returns post data sent with the request. Returns an error when no data was sent with the request.

    Attributes:
        postData: Request body string, omitting files from multipart requests
    """

    postData: str


class getResourceContentReturnValues(TypedDict):
    """
    Returns content of the given resource.

    Attributes:
        content: Resource content.
        base64Encoded: True, if content was served as base64.
    """

    content: str
    base64Encoded: bool


class getResourceTreeReturnValues(TypedDict):
    """
    Returns present frame / resource tree structure.

    Attributes:
        frameTree: Present frame / resource tree structure.
    """

    frameTree: 'FrameResourceTree'


class getResponseBodyForInterceptionReturnValues(TypedDict):
    """
    Returns content served for the given currently intercepted request.

    Attributes:
        body: Response body.
        base64Encoded: True, if content was sent as base64.
    """

    body: str
    base64Encoded: bool


class getResponseBodyReturnValues(TypedDict):
    """
    Causes the body of the response to be received from the server and
    returned as a single string. May only be issued for a request that
    is paused in the Response stage and is mutually exclusive with
    takeResponseBodyForInterceptionAsStream. Calling other methods that
    affect the request or disabling fetch domain before body is received
    results in an undefined behavior.

    Attributes:
        body: Response body.
        base64Encoded: True, if content was sent as base64.
    """

    body: str
    base64Encoded: bool


class getRuntimeCallStatsReturnValues(TypedDict):
    """
    Retrieve run time call stats.

    Attributes:
        result: Collected counter information.
    """

    result: List['CounterInfo']


class getSamplingProfileReturnValues(TypedDict):
    """
    Attributes:
        profile: Return the sampling profile being collected.
    """

    profile: 'SamplingHeapProfile'


class getScriptSourceReturnValues(TypedDict, total=False):
    """
    Returns source for the script with given id.

    Attributes:
        scriptSource: Script source (empty in case of Wasm bytecode).
        bytecode: Wasm bytecode.
    """

    scriptSource: str
    bytecode: bytes


class getSearchResultsReturnValues(TypedDict):
    """
    Returns search results from given `fromIndex` to given `toIndex` from the search with the given
    identifier.

    Attributes:
        nodeIds: Ids of the search result nodes.
    """

    nodeIds: List[int]


class getSnapshotReturnValues(TypedDict):
    """
    Returns a document snapshot, including the full DOM tree of the root node (including iframes,
    template contents, and imported documents) in a flattened array, as well as layout and
    white-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is
    flattened.

    Attributes:
        domNodes: The nodes in the DOM tree. The DOMNode at index 0 corresponds to the root document.
        layoutTreeNodes: The nodes in the layout tree.
        computedStyles: Whitelisted ComputedStyle properties for each node in the layout tree.
    """

    domNodes: List['DOMNode']
    layoutTreeNodes: List['LayoutTreeNode']
    computedStyles: List['ComputedStyle']


class getStackTraceReturnValues(TypedDict):
    """
    Returns stack trace with given `stackTraceId`.

    """

    stackTrace: 'StackTrace'


class getStyleSheetTextReturnValues(TypedDict):
    """
    Returns the current textual content for a stylesheet.

    Attributes:
        text: The stylesheet text.
    """

    text: str


class getTargetInfoReturnValues(TypedDict):
    """
    Returns information about a target.

    """

    targetInfo: 'TargetInfo'


class getTargetsReturnValues(TypedDict):
    """
    Retrieves a list of available targets.

    Attributes:
        targetInfos: The list of targets.
    """

    targetInfos: List['TargetInfo']


class getUsageAndQuotaReturnValues(TypedDict):
    """
    Returns usage and quota in bytes.

    Attributes:
        usage: Storage usage (bytes).
        quota: Storage quota (bytes).
        usageBreakdown: Storage usage per type (bytes).
    """

    usage: float
    quota: float
    usageBreakdown: List['UsageForType']


class getVersionReturnValues(TypedDict):
    """
    Returns version information.

    Attributes:
        protocolVersion: Protocol version.
        product: Product name.
        revision: Product revision.
        userAgent: User-Agent.
        jsVersion: V8 version.
    """

    protocolVersion: str
    product: str
    revision: str
    userAgent: str
    jsVersion: str


class getWasmBytecodeReturnValues(TypedDict):
    """
    This command is deprecated. Use getScriptSource instead.

    Attributes:
        bytecode: Script source.
    """

    bytecode: bytes


class getWindowBoundsReturnValues(TypedDict):
    """
    Get position and size of the browser window.

    Attributes:
        bounds: Bounds information of the window. When window state is 'minimized', the restored window
            position and size are returned.
    """

    bounds: 'Bounds'


class getWindowForTargetReturnValues(TypedDict):
    """
    Get the browser window that contains the devtools target.

    Attributes:
        windowId: Browser window id.
        bounds: Bounds information of the window. When window state is 'minimized', the restored window
            position and size are returned.
    """

    windowId: int
    bounds: 'Bounds'


class globalLexicalScopeNamesReturnValues(TypedDict):
    """
    Returns all let, const and class variables from global scope.

    """

    names: List[str]


class heapStatsUpdatePayload(TypedDict):
    """
    If heap objects tracking has been started then backend may send update for one or more fragments

    Attributes:
        statsUpdate: An array of triplets. Each triplet describes a fragment. The first integer is the fragment
            index, the second integer is a total count of objects for the fragment, the third integer is
            a total size of the objects for the fragment.
    """

    statsUpdate: List[int]


class indexedDBContentUpdatedPayload(TypedDict):
    """
    The origin's IndexedDB object store has been modified.

    Attributes:
        origin: Origin to update.
        databaseName: Database to update.
        objectStoreName: ObjectStore to update.
    """

    origin: str
    databaseName: str
    objectStoreName: str


class indexedDBListUpdatedPayload(TypedDict):
    """
    The origin's IndexedDB database list has been modified.

    Attributes:
        origin: Origin to update.
    """

    origin: str


class inlineStyleInvalidatedPayload(TypedDict):
    """
    Fired when `Element`'s inline style is modified via a CSS property modification.

    Attributes:
        nodeIds: Ids of the nodes for which the inline styles have been invalidated.
    """

    nodeIds: List[int]


class inspectNodeRequestedPayload(TypedDict):
    """
    Fired when the node should be inspected. This happens after call to `setInspectMode` or when
    user manually inspects an element.

    Attributes:
        backendNodeId: Id of the node to inspect.
    """

    backendNodeId: int


class inspectRequestedPayload(TypedDict):
    """
    Issued when object should be inspected (for example, as a result of inspect() command line API
    call).

    """

    object: 'RemoteObject'
    hints: Dict[str, str]


class issueUpdatedPayload(TypedDict):
    """
    This is fired whenever the outstanding issue/error message changes.
    |issueMessage| is empty if there is no issue.

    """

    issueMessage: str


class javascriptDialogClosedPayload(TypedDict):
    """
    Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) has been
    closed.

    Attributes:
        result: Whether dialog was confirmed.
        userInput: User input in case of prompt.
    """

    result: bool
    userInput: str


class javascriptDialogOpeningPayload(TypedDict, total=False):
    """
    Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) is about to
    open.

    Attributes:
        url: Frame url.
        message: Message that will be displayed by the dialog.
        type: Dialog type.
        hasBrowserHandler: True iff browser is capable showing or acting on the given dialog. When browser has no
            dialog handler for given target, calling alert while Page domain is engaged will stall
            the page execution. Execution can be resumed via calling Page.handleJavaScriptDialog.
        defaultPrompt: Default dialog prompt.
    """

    url: str
    message: str
    type: Literal['alert', 'confirm', 'prompt', 'beforeunload']
    hasBrowserHandler: bool
    defaultPrompt: str


class lastSeenObjectIdPayload(TypedDict):
    """
    If heap objects tracking has been started then backend regularly sends a current value for last
    seen object id and corresponding timestamp. If the were changes in the heap since last event
    then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event.

    """

    lastSeenObjectId: int
    timestamp: float


class layerPaintedPayload(TypedDict):
    """
    Attributes:
        layerId: The id of the painted layer.
        clip: Clip rectangle.
    """

    layerId: str
    clip: 'Rect'


class layerTreeDidChangePayload(TypedDict, total=False):
    """
    Attributes:
        layers: Layer tree, absent if not in the comspositing mode.
    """

    layers: List['Layer']


class lifecycleEventPayload(TypedDict):
    """
    Fired for top level page lifecycle events such as navigation, load, paint, etc.

    Attributes:
        frameId: Id of the frame.
        loaderId: Loader identifier. Empty string if the request is fetched from worker.
    """

    frameId: str
    loaderId: str
    name: str
    timestamp: float


class loadEventFiredPayload(TypedDict):
    timestamp: float


class loadSnapshotReturnValues(TypedDict):
    """
    Returns the snapshot identifier.

    Attributes:
        snapshotId: The id of the snapshot.
    """

    snapshotId: str


class loadingFailedPayload(TypedDict, total=False):
    """
    Fired when HTTP request has failed to load.

    Attributes:
        requestId: Request identifier.
        timestamp: Timestamp.
        type: Resource type.
        errorText: User friendly error message.
        canceled: True if loading was canceled.
        blockedReason: The reason why loading was blocked, if any.
    """

    requestId: str
    timestamp: float
    type: Literal[
        'Document',
        'Stylesheet',
        'Image',
        'Media',
        'Font',
        'Script',
        'TextTrack',
        'XHR',
        'Fetch',
        'EventSource',
        'WebSocket',
        'Manifest',
        'SignedExchange',
        'Ping',
        'CSPViolationReport',
        'Other',
    ]
    errorText: str
    canceled: bool
    blockedReason: Literal[
        'other',
        'csp',
        'mixed-content',
        'origin',
        'inspector',
        'subresource-filter',
        'content-type',
        'collapsed-by-client',
    ]


class loadingFinishedPayload(TypedDict, total=False):
    """
    Fired when HTTP request has finished loading.

    Attributes:
        requestId: Request identifier.
        timestamp: Timestamp.
        encodedDataLength: Total number of bytes received for this request.
        shouldReportCorbBlocking: Set when 1) response was blocked by Cross-Origin Read Blocking and also
            2) this needs to be reported to the DevTools console.
    """

    requestId: str
    timestamp: float
    encodedDataLength: float
    shouldReportCorbBlocking: bool


class makeSnapshotReturnValues(TypedDict):
    """
    Returns the layer snapshot identifier.

    Attributes:
        snapshotId: The id of the layer snapshot.
    """

    snapshotId: str


class messageAddedPayload(TypedDict):
    """
    Issued when new console message is added.

    Attributes:
        message: Console message that has been added.
    """

    message: 'ConsoleMessage'


class metricsPayload(TypedDict):
    """
    Current values of the metrics.

    Attributes:
        metrics: Current values of the metrics.
        title: Timestamp title.
    """

    metrics: List['Metric']
    title: str


class moveToReturnValues(TypedDict):
    """
    Moves node into the new container, places it before the given anchor.

    Attributes:
        nodeId: New id of the moved node.
    """

    nodeId: int


class navigateReturnValues(TypedDict, total=False):
    """
    Navigates current page to the given URL.

    Attributes:
        frameId: Frame id that has navigated (or failed to navigate)
        loaderId: Loader identifier.
        errorText: User friendly error message, present if and only if navigation has failed.
    """

    frameId: str
    loaderId: str
    errorText: str


class navigatedWithinDocumentPayload(TypedDict):
    """
    Fired when same-document navigation happens, e.g. due to history API usage or anchor navigation.

    Attributes:
        frameId: Id of the frame.
        url: Frame's new url.
    """

    frameId: str
    url: str


class needsBeginFramesChangedPayload(TypedDict):
    """
    Issued when the target starts or stops needing BeginFrames.
    Deprecated. Issue beginFrame unconditionally instead and use result from
    beginFrame to detect whether the frames were suppressed.

    Attributes:
        needsBeginFrames: True if BeginFrames are needed, false otherwise.
    """

    needsBeginFrames: bool


class networkStateUpdatedPayload(TypedDict):
    isNowOnline: bool


class nodeHighlightRequestedPayload(TypedDict):
    """
    Fired when the node should be highlighted. This happens after call to `setInspectMode`.

    """

    nodeId: int


class nodeParamConnectedPayload(TypedDict, total=False):
    """
    Notifies that an AudioNode is connected to an AudioParam.

    """

    contextId: str
    sourceId: str
    destinationId: str
    sourceOutputIndex: float


class nodeParamDisconnectedPayload(TypedDict, total=False):
    """
    Notifies that an AudioNode is disconnected to an AudioParam.

    """

    contextId: str
    sourceId: str
    destinationId: str
    sourceOutputIndex: float


class nodesConnectedPayload(TypedDict, total=False):
    """
    Notifies that two AudioNodes are connected.

    """

    contextId: str
    sourceId: str
    destinationId: str
    sourceOutputIndex: float
    destinationInputIndex: float


class nodesDisconnectedPayload(TypedDict, total=False):
    """
    Notifies that AudioNodes are disconnected. The destination can be null, and it means all the outgoing connections from the source are disconnected.

    """

    contextId: str
    sourceId: str
    destinationId: str
    sourceOutputIndex: float
    destinationInputIndex: float


class pausedPayload(TypedDict, total=False):
    """
    Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria.

    Attributes:
        callFrames: Call stack the virtual machine stopped on.
        reason: Pause reason.
        data: Object containing break-specific auxiliary properties.
        hitBreakpoints: Hit breakpoints IDs
        asyncStackTrace: Async stack trace, if any.
        asyncStackTraceId: Async stack trace, if any.
        asyncCallStackTraceId: Never present, will be removed.
    """

    callFrames: List['CallFrame']
    reason: Literal[
        'ambiguous',
        'assert',
        'debugCommand',
        'DOM',
        'EventListener',
        'exception',
        'instrumentation',
        'OOM',
        'other',
        'promiseRejection',
        'XHR',
    ]
    data: Dict[str, str]
    hitBreakpoints: List[str]
    asyncStackTrace: 'StackTrace'
    asyncStackTraceId: 'StackTraceId'
    asyncCallStackTraceId: 'StackTraceId'


class performSearchReturnValues(TypedDict):
    """
    Searches for a given string in the DOM tree. Use `getSearchResults` to access search results or
    `cancelSearch` to end this search session.

    Attributes:
        searchId: Unique search session identifier.
        resultCount: Number of search results.
    """

    searchId: str
    resultCount: int


class playerEventsAddedPayload(TypedDict):
    """
    Send events as a list, allowing them to be batched on the browser for less
    congestion. If batched, events must ALWAYS be in chronological order.

    """

    playerId: str
    events: List['PlayerEvent']


class playerPropertiesChangedPayload(TypedDict):
    """
    This can be called multiple times, and can be used to set / override /
    remove player properties. A null propValue indicates removal.

    """

    playerId: str
    properties: List['PlayerProperty']


class playersCreatedPayload(TypedDict):
    """
    Called whenever a player is created, or when a new agent joins and recieves
    a list of active players. If an agent is restored, it will recieve the full
    list of player ids and all events again.

    """

    players: List[str]


class printToPDFReturnValues(TypedDict, total=False):
    """
    Print page as PDF.

    Attributes:
        data: Base64-encoded pdf data. Empty if |returnAsStream| is specified.
        stream: A handle of the stream that holds resulting PDF data.
    """

    data: bytes
    stream: str


class profileSnapshotReturnValues(TypedDict):
    """
    Attributes:
        timings: The array of paint profiles, one per run.
    """

    timings: List[List[float]]


class pseudoElementAddedPayload(TypedDict):
    """
    Called when a pseudo element is added to an element.

    Attributes:
        parentId: Pseudo element's parent element id.
        pseudoElement: The added pseudo element.
    """

    parentId: int
    pseudoElement: 'Node'


class pseudoElementRemovedPayload(TypedDict):
    """
    Called when a pseudo element is removed from an element.

    Attributes:
        parentId: Pseudo element's parent element id.
        pseudoElementId: The removed pseudo element id.
    """

    parentId: int
    pseudoElementId: int


class pushNodeByPathToFrontendReturnValues(TypedDict):
    """
    Requests that the node is sent to the caller given its path. // FIXME, use XPath

    Attributes:
        nodeId: Id of the node for given path.
    """

    nodeId: int


class pushNodesByBackendIdsToFrontendReturnValues(TypedDict):
    """
    Requests that a batch of nodes is sent to the caller given their backend node ids.

    Attributes:
        nodeIds: The array of ids of pushed nodes that correspond to the backend ids specified in
            backendNodeIds.
    """

    nodeIds: List[int]


class queryObjectsReturnValues(TypedDict):
    """
    Attributes:
        objects: Array with objects.
    """

    objects: 'RemoteObject'


class querySelectorAllReturnValues(TypedDict):
    """
    Executes `querySelectorAll` on a given node.

    Attributes:
        nodeIds: Query selector result.
    """

    nodeIds: List[int]


class querySelectorReturnValues(TypedDict):
    """
    Executes `querySelector` on a given node.

    Attributes:
        nodeId: Query selector result.
    """

    nodeId: int


class readReturnValues(TypedDict, total=False):
    """
    Read a chunk of the stream

    Attributes:
        base64Encoded: Set if the data is base64-encoded
        data: Data that were read.
        eof: Set if the end-of-file condition occurred while reading.
    """

    base64Encoded: bool
    data: str
    eof: bool


class receivedMessageFromTargetPayload(TypedDict, total=False):
    """
    Notifies about a new protocol message received from the session (as reported in
    `attachedToTarget` event).

    Attributes:
        sessionId: Identifier of a session which sends a message.
        targetId: Deprecated.
    """

    sessionId: str
    message: str
    targetId: str


class recordingStateChangedPayload(TypedDict):
    """
    Called when the recording state for the service has been updated.

    """

    isRecording: bool
    service: Literal[
        'backgroundFetch',
        'backgroundSync',
        'pushMessaging',
        'notifications',
        'paymentHandler',
        'periodicBackgroundSync',
    ]


class replaySnapshotReturnValues(TypedDict):
    """
    Replays the layer snapshot and returns the resulting bitmap.

    Attributes:
        dataURL: A data: URL for resulting image.
    """

    dataURL: str


class reportHeapSnapshotProgressPayload(TypedDict, total=False):
    done: int
    total: int
    finished: bool


class requestCacheNamesReturnValues(TypedDict):
    """
    Requests cache names.

    Attributes:
        caches: Caches for the security origin.
    """

    caches: List['Cache']


class requestCachedResponseReturnValues(TypedDict):
    """
    Fetches cache entry.

    Attributes:
        response: Response read from the cache.
    """

    response: 'CachedResponse'


class requestDataReturnValues(TypedDict):
    """
    Requests data from object store or index.

    Attributes:
        objectStoreDataEntries: Array of object store data entries.
        hasMore: If true, there are more entries to fetch in the given range.
    """

    objectStoreDataEntries: List['DataEntry']
    hasMore: bool


class requestDatabaseNamesReturnValues(TypedDict):
    """
    Requests database names for given security origin.

    Attributes:
        databaseNames: Database names for origin.
    """

    databaseNames: List[str]


class requestDatabaseReturnValues(TypedDict):
    """
    Requests database with given name in given frame.

    Attributes:
        databaseWithObjectStores: Database with an array of object stores.
    """

    databaseWithObjectStores: 'DatabaseWithObjectStores'


class requestEntriesReturnValues(TypedDict):
    """
    Requests data from cache.

    Attributes:
        cacheDataEntries: Array of object store data entries.
        returnCount: Count of returned entries from this storage. If pathFilter is empty, it
            is the count of all entries from this storage.
    """

    cacheDataEntries: List['DataEntry']
    returnCount: float


class requestInterceptedPayload(TypedDict, total=False):
    """
    Details of an intercepted HTTP request, which must be either allowed, blocked, modified or
    mocked.
    Deprecated, use Fetch.requestPaused instead.

    Attributes:
        interceptionId: Each request the page makes will have a unique id, however if any redirects are encountered
            while processing that fetch, they will be reported with the same id as the original fetch.
            Likewise if HTTP authentication is needed then the same fetch id will be used.
        frameId: The id of the frame that initiated the request.
        resourceType: How the requested resource will be used.
        isNavigationRequest: Whether this is a navigation request, which can abort the navigation completely.
        isDownload: Set if the request is a navigation that will result in a download.
            Only present after response is received from the server (i.e. HeadersReceived stage).
        redirectUrl: Redirect location, only sent if a redirect was intercepted.
        authChallenge: Details of the Authorization Challenge encountered. If this is set then
            continueInterceptedRequest must contain an authChallengeResponse.
        responseErrorReason: Response error if intercepted at response stage or if redirect occurred while intercepting
            request.
        responseStatusCode: Response code if intercepted at response stage or if redirect occurred while intercepting
            request or auth retry occurred.
        responseHeaders: Response headers if intercepted at the response stage or if redirect occurred while
            intercepting request or auth retry occurred.
        requestId: If the intercepted request had a corresponding requestWillBeSent event fired for it, then
            this requestId will be the same as the requestId present in the requestWillBeSent event.
    """

    interceptionId: str
    request: 'Request'
    frameId: str
    resourceType: Literal[
        'Document',
        'Stylesheet',
        'Image',
        'Media',
        'Font',
        'Script',
        'TextTrack',
        'XHR',
        'Fetch',
        'EventSource',
        'WebSocket',
        'Manifest',
        'SignedExchange',
        'Ping',
        'CSPViolationReport',
        'Other',
    ]
    isNavigationRequest: bool
    isDownload: bool
    redirectUrl: str
    authChallenge: 'AuthChallenge'
    responseErrorReason: Literal[
        'Failed',
        'Aborted',
        'TimedOut',
        'AccessDenied',
        'ConnectionClosed',
        'ConnectionReset',
        'ConnectionRefused',
        'ConnectionAborted',
        'ConnectionFailed',
        'NameNotResolved',
        'InternetDisconnected',
        'AddressUnreachable',
        'BlockedByClient',
        'BlockedByResponse',
    ]
    responseStatusCode: int
    responseHeaders: Dict[str, str]
    requestId: str


class requestMemoryDumpReturnValues(TypedDict):
    """
    Request a global memory dump.

    Attributes:
        dumpGuid: GUID of the resulting global memory dump.
        success: True iff the global memory dump succeeded.
    """

    dumpGuid: str
    success: bool


class requestNodeReturnValues(TypedDict):
    """
    Requests that the node is sent to the caller given the JavaScript node object reference. All
    nodes that form the path from the node to the root are also sent to the client as a series of
    `setChildNodes` notifications.

    Attributes:
        nodeId: Node id for given object.
    """

    nodeId: int


class requestPausedPayload(TypedDict, total=False):
    """
    Issued when the domain is enabled and the request URL matches the
    specified filter. The request is paused until the client responds
    with one of continueRequest, failRequest or fulfillRequest.
    The stage of the request can be determined by presence of responseErrorReason
    and responseStatusCode -- the request is at the response stage if either
    of these fields is present and in the request stage otherwise.

    Attributes:
        requestId: Each request the page makes will have a unique id.
        request: The details of the request.
        frameId: The id of the frame that initiated the request.
        resourceType: How the requested resource will be used.
        responseErrorReason: Response error if intercepted at response stage.
        responseStatusCode: Response code if intercepted at response stage.
        responseHeaders: Response headers if intercepted at the response stage.
        networkId: If the intercepted request had a corresponding Network.requestWillBeSent event fired for it,
            then this networkId will be the same as the requestId present in the requestWillBeSent event.
    """

    requestId: str
    request: 'Request'
    frameId: str
    resourceType: Literal[
        'Document',
        'Stylesheet',
        'Image',
        'Media',
        'Font',
        'Script',
        'TextTrack',
        'XHR',
        'Fetch',
        'EventSource',
        'WebSocket',
        'Manifest',
        'SignedExchange',
        'Ping',
        'CSPViolationReport',
        'Other',
    ]
    responseErrorReason: Literal[
        'Failed',
        'Aborted',
        'TimedOut',
        'AccessDenied',
        'ConnectionClosed',
        'ConnectionReset',
        'ConnectionRefused',
        'ConnectionAborted',
        'ConnectionFailed',
        'NameNotResolved',
        'InternetDisconnected',
        'AddressUnreachable',
        'BlockedByClient',
        'BlockedByResponse',
    ]
    responseStatusCode: int
    responseHeaders: List['HeaderEntry']
    networkId: str


class requestServedFromCachePayload(TypedDict):
    """
    Fired if request ended up loading from cache.

    Attributes:
        requestId: Request identifier.
    """

    requestId: str


class requestWillBeSentExtraInfoPayload(TypedDict):
    """
    Fired when additional information about a requestWillBeSent event is available from the
    network stack. Not every requestWillBeSent event will have an additional
    requestWillBeSentExtraInfo fired for it, and there is no guarantee whether requestWillBeSent
    or requestWillBeSentExtraInfo will be fired first for the same request.

    Attributes:
        requestId: Request identifier. Used to match this information to an existing requestWillBeSent event.
        blockedCookies: A list of cookies which will not be sent with this request along with corresponding reasons
            for blocking.
        headers: Raw request headers as they will be sent over the wire.
    """

    requestId: str
    blockedCookies: List['BlockedCookieWithReason']
    headers: Dict[str, str]


class requestWillBeSentPayload(TypedDict, total=False):
    """
    Fired when page is about to send HTTP request.

    Attributes:
        requestId: Request identifier.
        loaderId: Loader identifier. Empty string if the request is fetched from worker.
        documentURL: URL of the document this request is loaded for.
        request: Request data.
        timestamp: Timestamp.
        wallTime: Timestamp.
        initiator: Request initiator.
        redirectResponse: Redirect response data.
        type: Type of this resource.
        frameId: Frame identifier.
        hasUserGesture: Whether the request is initiated by a user gesture. Defaults to false.
    """

    requestId: str
    loaderId: str
    documentURL: str
    request: 'Request'
    timestamp: float
    wallTime: float
    initiator: 'Initiator'
    redirectResponse: 'Response'
    type: Literal[
        'Document',
        'Stylesheet',
        'Image',
        'Media',
        'Font',
        'Script',
        'TextTrack',
        'XHR',
        'Fetch',
        'EventSource',
        'WebSocket',
        'Manifest',
        'SignedExchange',
        'Ping',
        'CSPViolationReport',
        'Other',
    ]
    frameId: str
    hasUserGesture: bool


class resolveAnimationReturnValues(TypedDict):
    """
    Gets the remote object of the Animation.

    Attributes:
        remoteObject: Corresponding remote object.
    """

    remoteObject: 'RemoteObject'


class resolveBlobReturnValues(TypedDict):
    """
    Return UUID of Blob object specified by a remote object id.

    Attributes:
        uuid: UUID of the specified Blob.
    """

    uuid: str


class resolveNodeReturnValues(TypedDict):
    """
    Resolves the JavaScript node object for a given NodeId or BackendNodeId.

    Attributes:
        object: JavaScript object wrapper for given node.
    """

    object: 'RemoteObject'


class resourceChangedPriorityPayload(TypedDict):
    """
    Fired when resource loading priority is changed

    Attributes:
        requestId: Request identifier.
        newPriority: New priority
        timestamp: Timestamp.
    """

    requestId: str
    newPriority: Literal['VeryLow', 'Low', 'Medium', 'High', 'VeryHigh']
    timestamp: float


class responseReceivedExtraInfoPayload(TypedDict, total=False):
    """
    Fired when additional information about a responseReceived event is available from the network
    stack. Not every responseReceived event will have an additional responseReceivedExtraInfo for
    it, and responseReceivedExtraInfo may be fired before or after responseReceived.

    Attributes:
        requestId: Request identifier. Used to match this information to another responseReceived event.
        blockedCookies: A list of cookies which were not stored from the response along with the corresponding
            reasons for blocking. The cookies here may not be valid due to syntax errors, which
            are represented by the invalid cookie line string instead of a proper cookie.
        headers: Raw response headers as they were received over the wire.
        headersText: Raw response header text as it was received over the wire. The raw text may not always be
            available, such as in the case of HTTP/2 or QUIC.
    """

    requestId: str
    blockedCookies: List['BlockedSetCookieWithReason']
    headers: Dict[str, str]
    headersText: str


class responseReceivedPayload(TypedDict, total=False):
    """
    Fired when HTTP response is available.

    Attributes:
        requestId: Request identifier.
        loaderId: Loader identifier. Empty string if the request is fetched from worker.
        timestamp: Timestamp.
        type: Resource type.
        response: Response data.
        frameId: Frame identifier.
    """

    requestId: str
    loaderId: str
    timestamp: float
    type: Literal[
        'Document',
        'Stylesheet',
        'Image',
        'Media',
        'Font',
        'Script',
        'TextTrack',
        'XHR',
        'Fetch',
        'EventSource',
        'WebSocket',
        'Manifest',
        'SignedExchange',
        'Ping',
        'CSPViolationReport',
        'Other',
    ]
    response: 'Response'
    frameId: str


class restartFrameReturnValues(TypedDict, total=False):
    """
    Restarts particular call frame from the beginning.

    Attributes:
        callFrames: New stack trace.
        asyncStackTrace: Async stack trace, if any.
        asyncStackTraceId: Async stack trace, if any.
    """

    callFrames: List['CallFrame']
    asyncStackTrace: 'StackTrace'
    asyncStackTraceId: 'StackTraceId'


class runScriptReturnValues(TypedDict, total=False):
    """
    Runs script with given id in a given context.

    Attributes:
        result: Run result.
        exceptionDetails: Exception details.
    """

    result: 'RemoteObject'
    exceptionDetails: 'ExceptionDetails'


class screencastFramePayload(TypedDict):
    """
    Compressed image data requested by the `startScreencast`.

    Attributes:
        data: Base64-encoded compressed image.
        metadata: Screencast frame metadata.
        sessionId: Frame number.
    """

    data: bytes
    metadata: 'ScreencastFrameMetadata'
    sessionId: int


class screencastVisibilityChangedPayload(TypedDict):
    """
    Fired when the page with currently enabled screencast was shown or hidden `.

    Attributes:
        visible: True if the page is visible.
    """

    visible: bool


class screenshotRequestedPayload(TypedDict):
    """
    Fired when user asks to capture screenshot of some area on the page.

    Attributes:
        viewport: Protocol.Page.Viewport to capture, in device independent pixels (dip).
    """

    viewport: 'Viewport'


class scriptFailedToParsePayload(TypedDict, total=False):
    """
    Fired when virtual machine fails to parse the script.

    Attributes:
        scriptId: Identifier of the script parsed.
        url: URL or name of the script parsed (if any).
        startLine: Line offset of the script within the resource with given URL (for script tags).
        startColumn: Column offset of the script within the resource with given URL.
        endLine: Last line of the script.
        endColumn: Length of the last line of the script.
        executionContextId: Specifies script creation context.
        hash: Content hash of the script.
        executionContextAuxData: Embedder-specific auxiliary data.
        sourceMapURL: URL of source map associated with script (if any).
        hasSourceURL: True, if this script has sourceURL.
        isModule: True, if this script is ES6 module.
        length: This script length.
        stackTrace: JavaScript top stack frame of where the script parsed event was triggered if available.
    """

    scriptId: str
    url: str
    startLine: int
    startColumn: int
    endLine: int
    endColumn: int
    executionContextId: int
    hash: str
    executionContextAuxData: Dict[str, str]
    sourceMapURL: str
    hasSourceURL: bool
    isModule: bool
    length: int
    stackTrace: 'StackTrace'


class scriptParsedPayload(TypedDict, total=False):
    """
    Fired when virtual machine parses script. This event is also fired for all known and uncollected
    scripts upon enabling debugger.

    Attributes:
        scriptId: Identifier of the script parsed.
        url: URL or name of the script parsed (if any).
        startLine: Line offset of the script within the resource with given URL (for script tags).
        startColumn: Column offset of the script within the resource with given URL.
        endLine: Last line of the script.
        endColumn: Length of the last line of the script.
        executionContextId: Specifies script creation context.
        hash: Content hash of the script.
        executionContextAuxData: Embedder-specific auxiliary data.
        isLiveEdit: True, if this script is generated as a result of the live edit operation.
        sourceMapURL: URL of source map associated with script (if any).
        hasSourceURL: True, if this script has sourceURL.
        isModule: True, if this script is ES6 module.
        length: This script length.
        stackTrace: JavaScript top stack frame of where the script parsed event was triggered if available.
    """

    scriptId: str
    url: str
    startLine: int
    startColumn: int
    endLine: int
    endColumn: int
    executionContextId: int
    hash: str
    executionContextAuxData: Dict[str, str]
    isLiveEdit: bool
    sourceMapURL: str
    hasSourceURL: bool
    isModule: bool
    length: int
    stackTrace: 'StackTrace'


class searchInContentReturnValues(TypedDict):
    """
    Searches for given string in script content.

    Attributes:
        result: List of search matches.
    """

    result: List['SearchMatch']


class searchInResourceReturnValues(TypedDict):
    """
    Searches for given string in resource content.

    Attributes:
        result: List of search matches.
    """

    result: List['SearchMatch']


class searchInResponseBodyReturnValues(TypedDict):
    """
    Searches for given string in response content.

    Attributes:
        result: List of search matches.
    """

    result: List['SearchMatch']


class securityStateChangedPayload(TypedDict, total=False):
    """
    The security state of the page changed.

    Attributes:
        securityState: Security state.
        schemeIsCryptographic: True if the page was loaded over cryptographic transport such as HTTPS.
        explanations: List of explanations for the security state. If the overall security state is `insecure` or
            `warning`, at least one corresponding explanation should be included.
        insecureContentStatus: Information about insecure content on the page.
        summary: Overrides user-visible description of the state.
    """

    securityState: Literal['unknown', 'neutral', 'insecure', 'secure', 'info', 'insecure-broken']
    schemeIsCryptographic: bool
    explanations: List['SecurityStateExplanation']
    insecureContentStatus: 'InsecureContentStatus'
    summary: str


class setBreakpointByUrlReturnValues(TypedDict):
    """
    Sets JavaScript breakpoint at given location specified either by URL or URL regex. Once this
    command is issued, all existing parsed scripts will have breakpoints resolved and returned in
    `locations` property. Further matching script parsing will result in subsequent
    `breakpointResolved` events issued. This logical breakpoint will survive page reloads.

    Attributes:
        breakpointId: Id of the created breakpoint for further reference.
        locations: List of the locations this breakpoint resolved into upon addition.
    """

    breakpointId: str
    locations: List['Location']


class setBreakpointOnFunctionCallReturnValues(TypedDict):
    """
    Sets JavaScript breakpoint before each call to the given function.
    If another function was created from the same source as a given one,
    calling it will also trigger the breakpoint.

    Attributes:
        breakpointId: Id of the created breakpoint for further reference.
    """

    breakpointId: str


class setBreakpointReturnValues(TypedDict):
    """
    Sets JavaScript breakpoint at a given location.

    Attributes:
        breakpointId: Id of the created breakpoint for further reference.
        actualLocation: Location this breakpoint resolved into.
    """

    breakpointId: str
    actualLocation: 'Location'


class setChildNodesPayload(TypedDict):
    """
    Fired when backend wants to provide client with the missing DOM structure. This happens upon
    most of the calls requesting node ids.

    Attributes:
        parentId: Parent node id to populate with children.
        nodes: Child nodes array.
    """

    parentId: int
    nodes: List['Node']


class setCookieReturnValues(TypedDict):
    """
    Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.

    Attributes:
        success: True if successfully set cookie.
    """

    success: bool


class setInstrumentationBreakpointReturnValues(TypedDict):
    """
    Sets instrumentation breakpoint.

    Attributes:
        breakpointId: Id of the created breakpoint for further reference.
    """

    breakpointId: str


class setKeyframeKeyReturnValues(TypedDict):
    """
    Modifies the keyframe rule key text.

    Attributes:
        keyText: The resulting key text after modification.
    """

    keyText: 'Value'


class setMediaTextReturnValues(TypedDict):
    """
    Modifies the rule selector.

    Attributes:
        media: The resulting CSS media rule after modification.
    """

    media: 'CSSMedia'


class setNodeNameReturnValues(TypedDict):
    """
    Sets node name for a node with given id.

    Attributes:
        nodeId: New node's id.
    """

    nodeId: int


class setRuleSelectorReturnValues(TypedDict):
    """
    Modifies the rule selector.

    Attributes:
        selectorList: The resulting selector list after modification.
    """

    selectorList: 'SelectorList'


class setScriptSourceReturnValues(TypedDict, total=False):
    """
    Edits JavaScript source live.

    Attributes:
        callFrames: New stack trace in case editing has happened while VM was stopped.
        stackChanged: Whether current call stack  was modified after applying the changes.
        asyncStackTrace: Async stack trace, if any.
        asyncStackTraceId: Async stack trace, if any.
        exceptionDetails: Exception details if any.
    """

    callFrames: List['CallFrame']
    stackChanged: bool
    asyncStackTrace: 'StackTrace'
    asyncStackTraceId: 'StackTraceId'
    exceptionDetails: 'ExceptionDetails'


class setStyleSheetTextReturnValues(TypedDict, total=False):
    """
    Sets the new stylesheet text.

    Attributes:
        sourceMapURL: URL of source map associated with script (if any).
    """

    sourceMapURL: str


class setStyleTextsReturnValues(TypedDict):
    """
    Applies specified style edits one after another in the given order.

    Attributes:
        styles: The resulting styles after modification.
    """

    styles: List['CSSStyle']


class setVirtualTimePolicyReturnValues(TypedDict):
    """
    Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets
    the current virtual time policy.  Note this supersedes any previous time budget.

    Attributes:
        virtualTimeTicksBase: Absolute timestamp at which virtual time was first enabled (up time in milliseconds).
    """

    virtualTimeTicksBase: float


class shadowRootPoppedPayload(TypedDict):
    """
    Called when shadow root is popped from the element.

    Attributes:
        hostId: Host element id.
        rootId: Shadow root id.
    """

    hostId: int
    rootId: int


class shadowRootPushedPayload(TypedDict):
    """
    Called when shadow root is pushed into the element.

    Attributes:
        hostId: Host element id.
        root: Shadow root.
    """

    hostId: int
    root: 'Node'


class signedExchangeReceivedPayload(TypedDict):
    """
    Fired when a signed exchange was received over the network

    Attributes:
        requestId: Request identifier.
        info: Information about the signed exchange response.
    """

    requestId: str
    info: 'SignedExchangeInfo'


class sinksUpdatedPayload(TypedDict):
    """
    This is fired whenever the list of available sinks changes. A sink is a
    device or a software surface that you can cast to.

    """

    sinks: List['Sink']


class snapshotCommandLogReturnValues(TypedDict):
    """
    Replays the layer snapshot and returns canvas log.

    Attributes:
        commandLog: The array of canvas function calls.
    """

    commandLog: List[Dict[str, str]]


class stopReturnValues(TypedDict):
    """
    Attributes:
        profile: Recorded profile.
    """

    profile: 'Profile'


class stopRuleUsageTrackingReturnValues(TypedDict):
    """
    Stop tracking rule usage and return the list of rules that were used since last call to
    `takeCoverageDelta` (or since start of coverage instrumentation)

    """

    ruleUsage: List['RuleUsage']


class stopSamplingReturnValues(TypedDict):
    """
    Attributes:
        profile: Recorded sampling heap profile.
    """

    profile: 'SamplingHeapProfile'


class styleSheetAddedPayload(TypedDict):
    """
    Fired whenever an active document stylesheet is added.

    Attributes:
        header: Added stylesheet metainfo.
    """

    header: 'CSSStyleSheetHeader'


class styleSheetChangedPayload(TypedDict):
    """
    Fired whenever a stylesheet is changed as a result of the client operation.

    """

    styleSheetId: str


class styleSheetRemovedPayload(TypedDict):
    """
    Fired whenever an active document stylesheet is removed.

    Attributes:
        styleSheetId: Identifier of the removed stylesheet.
    """

    styleSheetId: str


class takeCoverageDeltaReturnValues(TypedDict):
    """
    Obtain list of rules that became used since last call to this method (or since start of coverage
    instrumentation)

    """

    coverage: List['RuleUsage']


class takePreciseCoverageReturnValues(TypedDict):
    """
    Collect coverage data for the current isolate, and resets execution counters. Precise code
    coverage needs to have started.

    Attributes:
        result: Coverage data for the current isolate.
    """

    result: List['ScriptCoverage']


class takeResponseBodyAsStreamReturnValues(TypedDict):
    """
    Returns a handle to the stream representing the response body.
    The request must be paused in the HeadersReceived stage.
    Note that after this command the request can't be continued
    as is -- client either needs to cancel it or to provide the
    response body.
    The stream only supports sequential read, IO.read will fail if the position
    is specified.
    This method is mutually exclusive with getResponseBody.
    Calling other methods that affect the request or disabling fetch
    domain before body is received results in an undefined behavior.

    """

    stream: str


class takeResponseBodyForInterceptionAsStreamReturnValues(TypedDict):
    """
    Returns a handle to the stream representing the response body. Note that after this command,
    the intercepted request can't be continued as is -- you either need to cancel it or to provide
    the response body. The stream only supports sequential read, IO.read will fail if the position
    is specified.

    """

    stream: str


class takeTypeProfileReturnValues(TypedDict):
    """
    Collect type profile.

    Attributes:
        result: Type profile for all scripts since startTypeProfile() was turned on.
    """

    result: List['ScriptTypeProfile']


class targetCrashedPayload(TypedDict):
    """
    Issued when a target has crashed.

    Attributes:
        status: Termination status type.
        errorCode: Termination error code.
    """

    targetId: str
    status: str
    errorCode: int


class targetCreatedPayload(TypedDict):
    """
    Issued when a possible inspection target is created.

    """

    targetInfo: 'TargetInfo'


class targetDestroyedPayload(TypedDict):
    """
    Issued when a target is destroyed.

    """

    targetId: str


class targetInfoChangedPayload(TypedDict):
    """
    Issued when some information about a target has changed. This only happens between
    `targetCreated` and `targetDestroyed`.

    """

    targetInfo: 'TargetInfo'


class tracingCompletePayload(TypedDict, total=False):
    """
    Signals that tracing is stopped and there is no trace buffers pending flush, all data were
    delivered via dataCollected events.

    Attributes:
        dataLossOccurred: Indicates whether some trace data is known to have been lost, e.g. because the trace ring
            buffer wrapped around.
        stream: A handle of the stream that holds resulting trace data.
        traceFormat: Trace data format of returned stream.
        streamCompression: Compression format of returned stream.
    """

    dataLossOccurred: bool
    stream: str
    traceFormat: Literal['json', 'proto']
    streamCompression: Literal['none', 'gzip']


class visibleSecurityStateChangedPayload(TypedDict):
    """
    The security state of the page changed.

    Attributes:
        visibleSecurityState: Security state information about the page.
    """

    visibleSecurityState: 'VisibleSecurityState'


class webSocketClosedPayload(TypedDict):
    """
    Fired when WebSocket is closed.

    Attributes:
        requestId: Request identifier.
        timestamp: Timestamp.
    """

    requestId: str
    timestamp: float


class webSocketCreatedPayload(TypedDict, total=False):
    """
    Fired upon WebSocket creation.

    Attributes:
        requestId: Request identifier.
        url: WebSocket request URL.
        initiator: Request initiator.
    """

    requestId: str
    url: str
    initiator: 'Initiator'


class webSocketFrameErrorPayload(TypedDict):
    """
    Fired when WebSocket message error occurs.

    Attributes:
        requestId: Request identifier.
        timestamp: Timestamp.
        errorMessage: WebSocket error message.
    """

    requestId: str
    timestamp: float
    errorMessage: str


class webSocketFrameReceivedPayload(TypedDict):
    """
    Fired when WebSocket message is received.

    Attributes:
        requestId: Request identifier.
        timestamp: Timestamp.
        response: WebSocket response data.
    """

    requestId: str
    timestamp: float
    response: 'WebSocketFrame'


class webSocketFrameSentPayload(TypedDict):
    """
    Fired when WebSocket message is sent.

    Attributes:
        requestId: Request identifier.
        timestamp: Timestamp.
        response: WebSocket response data.
    """

    requestId: str
    timestamp: float
    response: 'WebSocketFrame'


class webSocketHandshakeResponseReceivedPayload(TypedDict):
    """
    Fired when WebSocket handshake response becomes available.

    Attributes:
        requestId: Request identifier.
        timestamp: Timestamp.
        response: WebSocket response data.
    """

    requestId: str
    timestamp: float
    response: 'WebSocketResponse'


class webSocketWillSendHandshakeRequestPayload(TypedDict):
    """
    Fired when WebSocket is about to initiate handshake.

    Attributes:
        requestId: Request identifier.
        timestamp: Timestamp.
        wallTime: UTC Timestamp.
        request: WebSocket request data.
    """

    requestId: str
    timestamp: float
    wallTime: float
    request: 'WebSocketRequest'


class windowOpenPayload(TypedDict):
    """
    Fired when a new window is going to be opened, via window.open(), link click, form submission,
    etc.

    Attributes:
        url: The URL for the new window.
        windowName: Window name.
        windowFeatures: An array of enabled window features.
        userGesture: Whether or not it was triggered by user gesture.
    """

    url: str
    windowName: str
    windowFeatures: List[str]
    userGesture: bool


class workerErrorReportedPayload(TypedDict):
    errorMessage: 'ServiceWorkerErrorMessage'


class workerRegistrationUpdatedPayload(TypedDict):
    registrations: List['ServiceWorkerRegistration']


class workerVersionUpdatedPayload(TypedDict):
    versions: List['ServiceWorkerVersion']


class Protocol:
    class Accessibility:
        # Unique accessibility node identifier.
        AXNodeId = str
        # Enum of possible property types.
        AXValueType = Literal[
            'boolean',
            'tristate',
            'booleanOrUndefined',
            'idref',
            'idrefList',
            'integer',
            'node',
            'nodeList',
            'number',
            'string',
            'computedString',
            'token',
            'tokenList',
            'domRelation',
            'role',
            'internalRole',
            'valueUndefined',
        ]
        # Enum of possible property sources.
        AXValueSourceType = Literal['attribute', 'implicit', 'style', 'contents', 'placeholder', 'relatedElement']
        # Enum of possible native property sources (as a subtype of a particular AXValueSourceType).
        AXValueNativeSourceType = Literal[
            'figcaption', 'label', 'labelfor', 'labelwrapped', 'legend', 'tablecaption', 'title', 'other'
        ]
        # A single source for a computed AX property.
        AXValueSource = Union[AXValueSource]
        AXRelatedNode = Union[AXRelatedNode]
        AXProperty = Union[AXProperty]
        # A single computed AX property.
        AXValue = Union[AXValue]
        # Values of AXProperty name: - from 'busy' to 'roledescription': states which apply to every AX node - from 'live' to 'root': attributes which apply to nodes in live regions - from 'autocomplete' to 'valuetext': attributes which apply to widgets - from 'checked' to 'selected': states which apply to widgets - from 'activedescendant' to 'owns' - relationships between elements other than parent/child/sibling.
        AXPropertyName = Literal[
            'busy',
            'disabled',
            'editable',
            'focusable',
            'focused',
            'hidden',
            'hiddenRoot',
            'invalid',
            'keyshortcuts',
            'settable',
            'roledescription',
            'live',
            'atomic',
            'relevant',
            'root',
            'autocomplete',
            'hasPopup',
            'level',
            'multiselectable',
            'orientation',
            'multiline',
            'readonly',
            'required',
            'valuemin',
            'valuemax',
            'valuetext',
            'checked',
            'expanded',
            'modal',
            'pressed',
            'selected',
            'activedescendant',
            'controls',
            'describedby',
            'details',
            'errormessage',
            'flowto',
            'labelledby',
            'owns',
        ]
        # A node in the accessibility tree.
        AXNode = Union[AXNode]
        # Disables the accessibility domain.
        disableParameters = None
        # Disables the accessibility domain.
        disableReturnValues = None
        # Enables the accessibility domain which causes `AXNodeId`s to remain consistent between method calls. This turns on accessibility for the page, which can impact performance until accessibility is disabled.
        enableParameters = None
        # Enables the accessibility domain which causes `AXNodeId`s to remain consistent between method calls. This turns on accessibility for the page, which can impact performance until accessibility is disabled.
        enableReturnValues = None
        # Fetches the accessibility node and partial accessibility tree for this DOM node, if it exists.
        getPartialAXTreeParameters = None
        # Fetches the accessibility node and partial accessibility tree for this DOM node, if it exists.
        getPartialAXTreeReturnValues = Union[getPartialAXTreeReturnValues]
        # Fetches the entire accessibility tree
        getFullAXTreeParameters = None
        # Fetches the entire accessibility tree
        getFullAXTreeReturnValues = Union[getFullAXTreeReturnValues]

    class Animation:
        # Animation instance.
        Animation = Union[Animation]
        # AnimationEffect instance
        AnimationEffect = Union[AnimationEffect]
        # Keyframes Rule
        KeyframesRule = Union[KeyframesRule]
        # Keyframe Style
        KeyframeStyle = Union[KeyframeStyle]
        # Event for when an animation has been cancelled.
        animationCanceledPayload = Union[animationCanceledPayload]
        # Event for each animation that has been created.
        animationCreatedPayload = Union[animationCreatedPayload]
        # Event for animation that has been started.
        animationStartedPayload = Union[animationStartedPayload]
        # Disables animation domain notifications.
        disableParameters = None
        # Disables animation domain notifications.
        disableReturnValues = None
        # Enables animation domain notifications.
        enableParameters = None
        # Enables animation domain notifications.
        enableReturnValues = None
        # Returns the current time of the an animation.
        getCurrentTimeParameters = None
        # Returns the current time of the an animation.
        getCurrentTimeReturnValues = Union[getCurrentTimeReturnValues]
        # Gets the playback rate of the document timeline.
        getPlaybackRateParameters = None
        # Gets the playback rate of the document timeline.
        getPlaybackRateReturnValues = Union[getPlaybackRateReturnValues]
        # Releases a set of animations to no longer be manipulated.
        releaseAnimationsParameters = None
        # Releases a set of animations to no longer be manipulated.
        releaseAnimationsReturnValues = None
        # Gets the remote object of the Animation.
        resolveAnimationParameters = None
        # Gets the remote object of the Animation.
        resolveAnimationReturnValues = Union[resolveAnimationReturnValues]
        # Seek a set of animations to a particular time within each animation.
        seekAnimationsParameters = None
        # Seek a set of animations to a particular time within each animation.
        seekAnimationsReturnValues = None
        # Sets the paused state of a set of animations.
        setPausedParameters = None
        # Sets the paused state of a set of animations.
        setPausedReturnValues = None
        # Sets the playback rate of the document timeline.
        setPlaybackRateParameters = None
        # Sets the playback rate of the document timeline.
        setPlaybackRateReturnValues = None
        # Sets the timing of an animation node.
        setTimingParameters = None
        # Sets the timing of an animation node.
        setTimingReturnValues = None

    class ApplicationCache:
        # Detailed application cache resource information.
        ApplicationCacheResource = Union[ApplicationCacheResource]
        # Detailed application cache information.
        ApplicationCache = Union[ApplicationCache]
        # Frame identifier - manifest URL pair.
        FrameWithManifest = Union[FrameWithManifest]
        applicationCacheStatusUpdatedPayload = Union[applicationCacheStatusUpdatedPayload]
        networkStateUpdatedPayload = Union[networkStateUpdatedPayload]
        # Enables application cache domain notifications.
        enableParameters = None
        # Enables application cache domain notifications.
        enableReturnValues = None
        # Returns relevant application cache data for the document in given frame.
        getApplicationCacheForFrameParameters = None
        # Returns relevant application cache data for the document in given frame.
        getApplicationCacheForFrameReturnValues = Union[getApplicationCacheForFrameReturnValues]
        # Returns array of frame identifiers with manifest urls for each frame containing a document associated with some application cache.
        getFramesWithManifestsParameters = None
        # Returns array of frame identifiers with manifest urls for each frame containing a document associated with some application cache.
        getFramesWithManifestsReturnValues = Union[getFramesWithManifestsReturnValues]
        # Returns manifest URL for document in the given frame.
        getManifestForFrameParameters = None
        # Returns manifest URL for document in the given frame.
        getManifestForFrameReturnValues = Union[getManifestForFrameReturnValues]

    class Audits:
        # Audits domain allows investigation of page violations and possible improvements.
        # Returns the response body and size if it were re-encoded with the specified settings. Only applies to images.
        getEncodedResponseParameters = None
        # Returns the response body and size if it were re-encoded with the specified settings. Only applies to images.
        getEncodedResponseReturnValues = Union[getEncodedResponseReturnValues]

    class BackgroundService:
        # Defines events for background web platform features.
        # The Background Service that will be associated with the commands/events. Every Background Service operates independently, but they share the same API.
        ServiceName = Literal[
            'backgroundFetch',
            'backgroundSync',
            'pushMessaging',
            'notifications',
            'paymentHandler',
            'periodicBackgroundSync',
        ]
        # A key-value pair for additional event information to pass along.
        EventMetadata = Union[EventMetadata]
        BackgroundServiceEvent = Union[BackgroundServiceEvent]
        # Called when the recording state for the service has been updated.
        recordingStateChangedPayload = Union[recordingStateChangedPayload]
        # Called with all existing backgroundServiceEvents when enabled, and all new events afterwards if enabled and recording.
        backgroundServiceEventReceivedPayload = Union[backgroundServiceEventReceivedPayload]
        # Enables event updates for the service.
        startObservingParameters = None
        # Enables event updates for the service.
        startObservingReturnValues = None
        # Disables event updates for the service.
        stopObservingParameters = None
        # Disables event updates for the service.
        stopObservingReturnValues = None
        # Set the recording state for the service.
        setRecordingParameters = None
        # Set the recording state for the service.
        setRecordingReturnValues = None
        # Clears all stored data for the service.
        clearEventsParameters = None
        # Clears all stored data for the service.
        clearEventsReturnValues = None

    class Browser:
        # The Browser domain defines methods and events for browser managing.
        BrowserContextID = str
        WindowID = int
        # The state of the browser window.
        WindowState = Literal['normal', 'minimized', 'maximized', 'fullscreen']
        # Browser window bounds information
        Bounds = Union[Bounds]
        PermissionType = Literal[
            'accessibilityEvents',
            'audioCapture',
            'backgroundSync',
            'backgroundFetch',
            'clipboardRead',
            'clipboardWrite',
            'durableStorage',
            'flash',
            'geolocation',
            'midi',
            'midiSysex',
            'nfc',
            'notifications',
            'paymentHandler',
            'periodicBackgroundSync',
            'protectedMediaIdentifier',
            'sensors',
            'videoCapture',
            'idleDetection',
            'wakeLockScreen',
            'wakeLockSystem',
        ]
        PermissionSetting = Literal['granted', 'denied', 'prompt']
        # Definition of PermissionDescriptor defined in the Permissions API: https://w3c.github.io/permissions/#dictdef-permissiondescriptor.
        PermissionDescriptor = Union[PermissionDescriptor]
        # Chrome histogram bucket.
        Bucket = Union[Bucket]
        # Chrome histogram.
        Histogram = Union[Histogram]
        # Set permission settings for given origin.
        setPermissionParameters = None
        # Set permission settings for given origin.
        setPermissionReturnValues = None
        # Grant specific permissions to the given origin and reject all others.
        grantPermissionsParameters = None
        # Grant specific permissions to the given origin and reject all others.
        grantPermissionsReturnValues = None
        # Reset all permission management for all origins.
        resetPermissionsParameters = None
        # Reset all permission management for all origins.
        resetPermissionsReturnValues = None
        # Close browser gracefully.
        closeParameters = None
        # Close browser gracefully.
        closeReturnValues = None
        # Crashes browser on the main thread.
        crashParameters = None
        # Crashes browser on the main thread.
        crashReturnValues = None
        # Crashes GPU process.
        crashGpuProcessParameters = None
        # Crashes GPU process.
        crashGpuProcessReturnValues = None
        # Returns version information.
        getVersionParameters = None
        # Returns version information.
        getVersionReturnValues = Union[getVersionReturnValues]
        # Returns the command line switches for the browser process if, and only if --enable-automation is on the commandline.
        getBrowserCommandLineParameters = None
        # Returns the command line switches for the browser process if, and only if --enable-automation is on the commandline.
        getBrowserCommandLineReturnValues = Union[getBrowserCommandLineReturnValues]
        # Get Chrome histograms.
        getHistogramsParameters = None
        # Get Chrome histograms.
        getHistogramsReturnValues = Union[getHistogramsReturnValues]
        # Get a Chrome histogram by name.
        getHistogramParameters = None
        # Get a Chrome histogram by name.
        getHistogramReturnValues = Union[getHistogramReturnValues]
        # Get position and size of the browser window.
        getWindowBoundsParameters = None
        # Get position and size of the browser window.
        getWindowBoundsReturnValues = Union[getWindowBoundsReturnValues]
        # Get the browser window that contains the devtools target.
        getWindowForTargetParameters = None
        # Get the browser window that contains the devtools target.
        getWindowForTargetReturnValues = Union[getWindowForTargetReturnValues]
        # Set position and/or size of the browser window.
        setWindowBoundsParameters = None
        # Set position and/or size of the browser window.
        setWindowBoundsReturnValues = None
        # Set dock tile details, platform-specific.
        setDockTileParameters = None
        # Set dock tile details, platform-specific.
        setDockTileReturnValues = None

    class CSS:
        # This domain exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles) have an associated `id` used in subsequent operations on the related object. Each object type has a specific `id` structure, and those are not interchangeable between objects of different kinds. CSS objects can be loaded using the `get*ForNode()` calls (which accept a DOM node id). A client can also keep track of stylesheets via the `styleSheetAdded`/`styleSheetRemoved` events and subsequently load the required stylesheet contents using the `getStyleSheet[Text]()` methods.
        StyleSheetId = str
        # Stylesheet type: "injected" for stylesheets injected via extension, "user-agent" for user-agent stylesheets, "inspector" for stylesheets created by the inspector (i.e. those holding the "via inspector" rules), "regular" for regular stylesheets.
        StyleSheetOrigin = Literal['injected', 'user-agent', 'inspector', 'regular']
        # CSS rule collection for a single pseudo style.
        PseudoElementMatches = Union[PseudoElementMatches]
        # Inherited CSS rule collection from ancestor node.
        InheritedStyleEntry = Union[InheritedStyleEntry]
        # Match data for a CSS rule.
        RuleMatch = Union[RuleMatch]
        # Data for a simple selector (these are delimited by commas in a selector list).
        Value = Union[Value]
        # Selector list data.
        SelectorList = Union[SelectorList]
        # CSS stylesheet metainformation.
        CSSStyleSheetHeader = Union[CSSStyleSheetHeader]
        # CSS rule representation.
        CSSRule = Union[CSSRule]
        # CSS coverage information.
        RuleUsage = Union[RuleUsage]
        # Text range within a resource. All numbers are zero-based.
        SourceRange = Union[SourceRange]
        ShorthandEntry = Union[ShorthandEntry]
        CSSComputedStyleProperty = Union[CSSComputedStyleProperty]
        # CSS style representation.
        CSSStyle = Union[CSSStyle]
        # CSS property declaration data.
        CSSProperty = Union[CSSProperty]
        # CSS media rule descriptor.
        CSSMedia = Union[CSSMedia]
        # Media query descriptor.
        MediaQuery = Union[MediaQuery]
        # Media query expression descriptor.
        MediaQueryExpression = Union[MediaQueryExpression]
        # Information about amount of glyphs that were rendered with given font.
        PlatformFontUsage = Union[PlatformFontUsage]
        # Properties of a web font: https://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-descriptions
        FontFace = Union[FontFace]
        # CSS keyframes rule representation.
        CSSKeyframesRule = Union[CSSKeyframesRule]
        # CSS keyframe rule representation.
        CSSKeyframeRule = Union[CSSKeyframeRule]
        # A descriptor of operation to mutate style declaration text.
        StyleDeclarationEdit = Union[StyleDeclarationEdit]
        # Fires whenever a web font is updated.  A non-empty font parameter indicates a successfully loaded web font
        fontsUpdatedPayload = Union[fontsUpdatedPayload]
        # Fires whenever a MediaQuery result changes (for example, after a browser window has been resized.) The current implementation considers only viewport-dependent media features.
        mediaQueryResultChangedPayload = None
        # Fired whenever an active document stylesheet is added.
        styleSheetAddedPayload = Union[styleSheetAddedPayload]
        # Fired whenever a stylesheet is changed as a result of the client operation.
        styleSheetChangedPayload = Union[styleSheetChangedPayload]
        # Fired whenever an active document stylesheet is removed.
        styleSheetRemovedPayload = Union[styleSheetRemovedPayload]
        # Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the position specified by `location`.
        addRuleParameters = None
        # Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the position specified by `location`.
        addRuleReturnValues = Union[addRuleReturnValues]
        # Returns all class names from specified stylesheet.
        collectClassNamesParameters = None
        # Returns all class names from specified stylesheet.
        collectClassNamesReturnValues = Union[collectClassNamesReturnValues]
        # Creates a new special "via-inspector" stylesheet in the frame with given `frameId`.
        createStyleSheetParameters = None
        # Creates a new special "via-inspector" stylesheet in the frame with given `frameId`.
        createStyleSheetReturnValues = Union[createStyleSheetReturnValues]
        # Disables the CSS agent for the given page.
        disableParameters = None
        # Disables the CSS agent for the given page.
        disableReturnValues = None
        # Enables the CSS agent for the given page. Clients should not assume that the CSS agent has been enabled until the result of this command is received.
        enableParameters = None
        # Enables the CSS agent for the given page. Clients should not assume that the CSS agent has been enabled until the result of this command is received.
        enableReturnValues = None
        # Ensures that the given node will have specified pseudo-classes whenever its style is computed by the browser.
        forcePseudoStateParameters = None
        # Ensures that the given node will have specified pseudo-classes whenever its style is computed by the browser.
        forcePseudoStateReturnValues = None
        getBackgroundColorsParameters = None
        getBackgroundColorsReturnValues = Union[getBackgroundColorsReturnValues]
        # Returns the computed style for a DOM node identified by `nodeId`.
        getComputedStyleForNodeParameters = None
        # Returns the computed style for a DOM node identified by `nodeId`.
        getComputedStyleForNodeReturnValues = Union[getComputedStyleForNodeReturnValues]
        # Returns the styles defined inline (explicitly in the "style" attribute and implicitly, using DOM attributes) for a DOM node identified by `nodeId`.
        getInlineStylesForNodeParameters = None
        # Returns the styles defined inline (explicitly in the "style" attribute and implicitly, using DOM attributes) for a DOM node identified by `nodeId`.
        getInlineStylesForNodeReturnValues = Union[getInlineStylesForNodeReturnValues]
        # Returns requested styles for a DOM node identified by `nodeId`.
        getMatchedStylesForNodeParameters = None
        # Returns requested styles for a DOM node identified by `nodeId`.
        getMatchedStylesForNodeReturnValues = Union[getMatchedStylesForNodeReturnValues]
        # Returns all media queries parsed by the rendering engine.
        getMediaQueriesParameters = None
        # Returns all media queries parsed by the rendering engine.
        getMediaQueriesReturnValues = Union[getMediaQueriesReturnValues]
        # Requests information about platform fonts which we used to render child TextNodes in the given node.
        getPlatformFontsForNodeParameters = None
        # Requests information about platform fonts which we used to render child TextNodes in the given node.
        getPlatformFontsForNodeReturnValues = Union[getPlatformFontsForNodeReturnValues]
        # Returns the current textual content for a stylesheet.
        getStyleSheetTextParameters = None
        # Returns the current textual content for a stylesheet.
        getStyleSheetTextReturnValues = Union[getStyleSheetTextReturnValues]
        # Find a rule with the given active property for the given node and set the new value for this property
        setEffectivePropertyValueForNodeParameters = None
        # Find a rule with the given active property for the given node and set the new value for this property
        setEffectivePropertyValueForNodeReturnValues = None
        # Modifies the keyframe rule key text.
        setKeyframeKeyParameters = None
        # Modifies the keyframe rule key text.
        setKeyframeKeyReturnValues = Union[setKeyframeKeyReturnValues]
        # Modifies the rule selector.
        setMediaTextParameters = None
        # Modifies the rule selector.
        setMediaTextReturnValues = Union[setMediaTextReturnValues]
        # Modifies the rule selector.
        setRuleSelectorParameters = None
        # Modifies the rule selector.
        setRuleSelectorReturnValues = Union[setRuleSelectorReturnValues]
        # Sets the new stylesheet text.
        setStyleSheetTextParameters = None
        # Sets the new stylesheet text.
        setStyleSheetTextReturnValues = Union[setStyleSheetTextReturnValues]
        # Applies specified style edits one after another in the given order.
        setStyleTextsParameters = None
        # Applies specified style edits one after another in the given order.
        setStyleTextsReturnValues = Union[setStyleTextsReturnValues]
        # Enables the selector recording.
        startRuleUsageTrackingParameters = None
        # Enables the selector recording.
        startRuleUsageTrackingReturnValues = None
        # Stop tracking rule usage and return the list of rules that were used since last call to `takeCoverageDelta` (or since start of coverage instrumentation)
        stopRuleUsageTrackingParameters = None
        # Stop tracking rule usage and return the list of rules that were used since last call to `takeCoverageDelta` (or since start of coverage instrumentation)
        stopRuleUsageTrackingReturnValues = Union[stopRuleUsageTrackingReturnValues]
        # Obtain list of rules that became used since last call to this method (or since start of coverage instrumentation)
        takeCoverageDeltaParameters = None
        # Obtain list of rules that became used since last call to this method (or since start of coverage instrumentation)
        takeCoverageDeltaReturnValues = Union[takeCoverageDeltaReturnValues]

    class CacheStorage:
        # Unique identifier of the Cache object.
        CacheId = str
        # type of HTTP response cached
        CachedResponseType = Literal['basic', 'cors', 'default', 'error', 'opaqueResponse', 'opaqueRedirect']
        # Data entry.
        DataEntry = Union[DataEntry]
        # Cache identifier.
        Cache = Union[Cache]
        Header = Union[Header]
        # Cached response
        CachedResponse = Union[CachedResponse]
        # Deletes a cache.
        deleteCacheParameters = None
        # Deletes a cache.
        deleteCacheReturnValues = None
        # Deletes a cache entry.
        deleteEntryParameters = None
        # Deletes a cache entry.
        deleteEntryReturnValues = None
        # Requests cache names.
        requestCacheNamesParameters = None
        # Requests cache names.
        requestCacheNamesReturnValues = Union[requestCacheNamesReturnValues]
        # Fetches cache entry.
        requestCachedResponseParameters = None
        # Fetches cache entry.
        requestCachedResponseReturnValues = Union[requestCachedResponseReturnValues]
        # Requests data from cache.
        requestEntriesParameters = None
        # Requests data from cache.
        requestEntriesReturnValues = Union[requestEntriesReturnValues]

    class Cast:
        # A domain for interacting with Cast, Presentation API, and Remote Playback API functionalities.
        Sink = Union[Sink]
        # This is fired whenever the list of available sinks changes. A sink is a device or a software surface that you can cast to.
        sinksUpdatedPayload = Union[sinksUpdatedPayload]
        # This is fired whenever the outstanding issue/error message changes. |issueMessage| is empty if there is no issue.
        issueUpdatedPayload = Union[issueUpdatedPayload]
        # Starts observing for sinks that can be used for tab mirroring, and if set, sinks compatible with |presentationUrl| as well. When sinks are found, a |sinksUpdated| event is fired. Also starts observing for issue messages. When an issue is added or removed, an |issueUpdated| event is fired.
        enableParameters = None
        # Starts observing for sinks that can be used for tab mirroring, and if set, sinks compatible with |presentationUrl| as well. When sinks are found, a |sinksUpdated| event is fired. Also starts observing for issue messages. When an issue is added or removed, an |issueUpdated| event is fired.
        enableReturnValues = None
        # Stops observing for sinks and issues.
        disableParameters = None
        # Stops observing for sinks and issues.
        disableReturnValues = None
        # Sets a sink to be used when the web page requests the browser to choose a sink via Presentation API, Remote Playback API, or Cast SDK.
        setSinkToUseParameters = None
        # Sets a sink to be used when the web page requests the browser to choose a sink via Presentation API, Remote Playback API, or Cast SDK.
        setSinkToUseReturnValues = None
        # Starts mirroring the tab to the sink.
        startTabMirroringParameters = None
        # Starts mirroring the tab to the sink.
        startTabMirroringReturnValues = None
        # Stops the active Cast session on the sink.
        stopCastingParameters = None
        # Stops the active Cast session on the sink.
        stopCastingReturnValues = None

    class DOM:
        # This domain exposes DOM read/write operations. Each DOM Node is represented with its mirror object that has an `id`. This `id` can be used to get additional information on the Node, resolve it into the JavaScript object wrapper, etc. It is important that client receives DOM events only for the nodes that are known to the client. Backend keeps track of the nodes that were sent to the client and never sends the same node twice. It is client's responsibility to collect information about the nodes that were sent to the client.<p>Note that `iframe` owner elements will return corresponding document elements as their child nodes.</p>
        # Unique DOM node identifier.
        NodeId = int
        # Unique DOM node identifier used to reference a node that may not have been pushed to the front-end.
        BackendNodeId = int
        # Backend node with a friendly name.
        BackendNode = Union[BackendNode]
        # Pseudo element type.
        PseudoType = Literal[
            'first-line',
            'first-letter',
            'before',
            'after',
            'backdrop',
            'selection',
            'first-line-inherited',
            'scrollbar',
            'scrollbar-thumb',
            'scrollbar-button',
            'scrollbar-track',
            'scrollbar-track-piece',
            'scrollbar-corner',
            'resizer',
            'input-list-button',
        ]
        # Shadow root type.
        ShadowRootType = Literal['user-agent', 'open', 'closed']
        # DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes. DOMNode is a base node mirror type.
        Node = Union[Node]
        # A structure holding an RGBA color.
        RGBA = Union[RGBA]
        # An array of quad vertices, x immediately followed by y for each point, points clock-wise.
        Quad = List[float]
        # Box model.
        BoxModel = Union[BoxModel]
        # CSS Shape Outside details.
        ShapeOutsideInfo = Union[ShapeOutsideInfo]
        # Rectangle.
        Rect = Union[Rect]
        # Fired when `Element`'s attribute is modified.
        attributeModifiedPayload = Union[attributeModifiedPayload]
        # Fired when `Element`'s attribute is removed.
        attributeRemovedPayload = Union[attributeRemovedPayload]
        # Mirrors `DOMCharacterDataModified` event.
        characterDataModifiedPayload = Union[characterDataModifiedPayload]
        # Fired when `Container`'s child node count has changed.
        childNodeCountUpdatedPayload = Union[childNodeCountUpdatedPayload]
        # Mirrors `DOMNodeInserted` event.
        childNodeInsertedPayload = Union[childNodeInsertedPayload]
        # Mirrors `DOMNodeRemoved` event.
        childNodeRemovedPayload = Union[childNodeRemovedPayload]
        # Called when distrubution is changed.
        distributedNodesUpdatedPayload = Union[distributedNodesUpdatedPayload]
        # Fired when `Document` has been totally updated. Node ids are no longer valid.
        documentUpdatedPayload = None
        # Fired when `Element`'s inline style is modified via a CSS property modification.
        inlineStyleInvalidatedPayload = Union[inlineStyleInvalidatedPayload]
        # Called when a pseudo element is added to an element.
        pseudoElementAddedPayload = Union[pseudoElementAddedPayload]
        # Called when a pseudo element is removed from an element.
        pseudoElementRemovedPayload = Union[pseudoElementRemovedPayload]
        # Fired when backend wants to provide client with the missing DOM structure. This happens upon most of the calls requesting node ids.
        setChildNodesPayload = Union[setChildNodesPayload]
        # Called when shadow root is popped from the element.
        shadowRootPoppedPayload = Union[shadowRootPoppedPayload]
        # Called when shadow root is pushed into the element.
        shadowRootPushedPayload = Union[shadowRootPushedPayload]
        # Collects class names for the node with given id and all of it's child nodes.
        collectClassNamesFromSubtreeParameters = None
        # Collects class names for the node with given id and all of it's child nodes.
        collectClassNamesFromSubtreeReturnValues = Union[collectClassNamesFromSubtreeReturnValues]
        # Creates a deep copy of the specified node and places it into the target container before the given anchor.
        copyToParameters = None
        # Creates a deep copy of the specified node and places it into the target container before the given anchor.
        copyToReturnValues = Union[copyToReturnValues]
        # Describes node given its id, does not require domain to be enabled. Does not start tracking any objects, can be used for automation.
        describeNodeParameters = None
        # Describes node given its id, does not require domain to be enabled. Does not start tracking any objects, can be used for automation.
        describeNodeReturnValues = Union[describeNodeReturnValues]
        # Disables DOM agent for the given page.
        disableParameters = None
        # Disables DOM agent for the given page.
        disableReturnValues = None
        # Discards search results from the session with the given id. `getSearchResults` should no longer be called for that search.
        discardSearchResultsParameters = None
        # Discards search results from the session with the given id. `getSearchResults` should no longer be called for that search.
        discardSearchResultsReturnValues = None
        # Enables DOM agent for the given page.
        enableParameters = None
        # Enables DOM agent for the given page.
        enableReturnValues = None
        # Focuses the given element.
        focusParameters = None
        # Focuses the given element.
        focusReturnValues = None
        # Returns attributes for the specified node.
        getAttributesParameters = None
        # Returns attributes for the specified node.
        getAttributesReturnValues = Union[getAttributesReturnValues]
        # Returns boxes for the given node.
        getBoxModelParameters = None
        # Returns boxes for the given node.
        getBoxModelReturnValues = Union[getBoxModelReturnValues]
        # Returns quads that describe node position on the page. This method might return multiple quads for inline nodes.
        getContentQuadsParameters = None
        # Returns quads that describe node position on the page. This method might return multiple quads for inline nodes.
        getContentQuadsReturnValues = Union[getContentQuadsReturnValues]
        # Returns the root DOM node (and optionally the subtree) to the caller.
        getDocumentParameters = None
        # Returns the root DOM node (and optionally the subtree) to the caller.
        getDocumentReturnValues = Union[getDocumentReturnValues]
        # Returns the root DOM node (and optionally the subtree) to the caller.
        getFlattenedDocumentParameters = None
        # Returns the root DOM node (and optionally the subtree) to the caller.
        getFlattenedDocumentReturnValues = Union[getFlattenedDocumentReturnValues]
        # Returns node id at given location. Depending on whether DOM domain is enabled, nodeId is either returned or not.
        getNodeForLocationParameters = None
        # Returns node id at given location. Depending on whether DOM domain is enabled, nodeId is either returned or not.
        getNodeForLocationReturnValues = Union[getNodeForLocationReturnValues]
        # Returns node's HTML markup.
        getOuterHTMLParameters = None
        # Returns node's HTML markup.
        getOuterHTMLReturnValues = Union[getOuterHTMLReturnValues]
        # Returns the id of the nearest ancestor that is a relayout boundary.
        getRelayoutBoundaryParameters = None
        # Returns the id of the nearest ancestor that is a relayout boundary.
        getRelayoutBoundaryReturnValues = Union[getRelayoutBoundaryReturnValues]
        # Returns search results from given `fromIndex` to given `toIndex` from the search with the given identifier.
        getSearchResultsParameters = None
        # Returns search results from given `fromIndex` to given `toIndex` from the search with the given identifier.
        getSearchResultsReturnValues = Union[getSearchResultsReturnValues]
        # Hides any highlight.
        hideHighlightParameters = None
        # Hides any highlight.
        hideHighlightReturnValues = None
        # Highlights DOM node.
        highlightNodeParameters = None
        # Highlights DOM node.
        highlightNodeReturnValues = None
        # Highlights given rectangle.
        highlightRectParameters = None
        # Highlights given rectangle.
        highlightRectReturnValues = None
        # Marks last undoable state.
        markUndoableStateParameters = None
        # Marks last undoable state.
        markUndoableStateReturnValues = None
        # Moves node into the new container, places it before the given anchor.
        moveToParameters = None
        # Moves node into the new container, places it before the given anchor.
        moveToReturnValues = Union[moveToReturnValues]
        # Searches for a given string in the DOM tree. Use `getSearchResults` to access search results or `cancelSearch` to end this search session.
        performSearchParameters = None
        # Searches for a given string in the DOM tree. Use `getSearchResults` to access search results or `cancelSearch` to end this search session.
        performSearchReturnValues = Union[performSearchReturnValues]
        # Requests that the node is sent to the caller given its path. // FIXME, use XPath
        pushNodeByPathToFrontendParameters = None
        # Requests that the node is sent to the caller given its path. // FIXME, use XPath
        pushNodeByPathToFrontendReturnValues = Union[pushNodeByPathToFrontendReturnValues]
        # Requests that a batch of nodes is sent to the caller given their backend node ids.
        pushNodesByBackendIdsToFrontendParameters = None
        # Requests that a batch of nodes is sent to the caller given their backend node ids.
        pushNodesByBackendIdsToFrontendReturnValues = Union[pushNodesByBackendIdsToFrontendReturnValues]
        # Executes `querySelector` on a given node.
        querySelectorParameters = None
        # Executes `querySelector` on a given node.
        querySelectorReturnValues = Union[querySelectorReturnValues]
        # Executes `querySelectorAll` on a given node.
        querySelectorAllParameters = None
        # Executes `querySelectorAll` on a given node.
        querySelectorAllReturnValues = Union[querySelectorAllReturnValues]
        # Re-does the last undone action.
        redoParameters = None
        # Re-does the last undone action.
        redoReturnValues = None
        # Removes attribute with given name from an element with given id.
        removeAttributeParameters = None
        # Removes attribute with given name from an element with given id.
        removeAttributeReturnValues = None
        # Removes node with given id.
        removeNodeParameters = None
        # Removes node with given id.
        removeNodeReturnValues = None
        # Requests that children of the node with given id are returned to the caller in form of `setChildNodes` events where not only immediate children are retrieved, but all children down to the specified depth.
        requestChildNodesParameters = None
        # Requests that children of the node with given id are returned to the caller in form of `setChildNodes` events where not only immediate children are retrieved, but all children down to the specified depth.
        requestChildNodesReturnValues = None
        # Requests that the node is sent to the caller given the JavaScript node object reference. All nodes that form the path from the node to the root are also sent to the client as a series of `setChildNodes` notifications.
        requestNodeParameters = None
        # Requests that the node is sent to the caller given the JavaScript node object reference. All nodes that form the path from the node to the root are also sent to the client as a series of `setChildNodes` notifications.
        requestNodeReturnValues = Union[requestNodeReturnValues]
        # Resolves the JavaScript node object for a given NodeId or BackendNodeId.
        resolveNodeParameters = None
        # Resolves the JavaScript node object for a given NodeId or BackendNodeId.
        resolveNodeReturnValues = Union[resolveNodeReturnValues]
        # Sets attribute for an element with given id.
        setAttributeValueParameters = None
        # Sets attribute for an element with given id.
        setAttributeValueReturnValues = None
        # Sets attributes on element with given id. This method is useful when user edits some existing attribute value and types in several attribute name/value pairs.
        setAttributesAsTextParameters = None
        # Sets attributes on element with given id. This method is useful when user edits some existing attribute value and types in several attribute name/value pairs.
        setAttributesAsTextReturnValues = None
        # Sets files for the given file input element.
        setFileInputFilesParameters = None
        # Sets files for the given file input element.
        setFileInputFilesReturnValues = None
        # Sets if stack traces should be captured for Nodes. See `Node.getNodeStackTraces`. Default is disabled.
        setNodeStackTracesEnabledParameters = None
        # Sets if stack traces should be captured for Nodes. See `Node.getNodeStackTraces`. Default is disabled.
        setNodeStackTracesEnabledReturnValues = None
        # Gets stack traces associated with a Node. As of now, only provides stack trace for Node creation.
        getNodeStackTracesParameters = None
        # Gets stack traces associated with a Node. As of now, only provides stack trace for Node creation.
        getNodeStackTracesReturnValues = Union[getNodeStackTracesReturnValues]
        # Returns file information for the given File wrapper.
        getFileInfoParameters = None
        # Returns file information for the given File wrapper.
        getFileInfoReturnValues = Union[getFileInfoReturnValues]
        # Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions).
        setInspectedNodeParameters = None
        # Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions).
        setInspectedNodeReturnValues = None
        # Sets node name for a node with given id.
        setNodeNameParameters = None
        # Sets node name for a node with given id.
        setNodeNameReturnValues = Union[setNodeNameReturnValues]
        # Sets node value for a node with given id.
        setNodeValueParameters = None
        # Sets node value for a node with given id.
        setNodeValueReturnValues = None
        # Sets node HTML markup, returns new node id.
        setOuterHTMLParameters = None
        # Sets node HTML markup, returns new node id.
        setOuterHTMLReturnValues = None
        # Undoes the last performed action.
        undoParameters = None
        # Undoes the last performed action.
        undoReturnValues = None
        # Returns iframe node that owns iframe with the given domain.
        getFrameOwnerParameters = None
        # Returns iframe node that owns iframe with the given domain.
        getFrameOwnerReturnValues = Union[getFrameOwnerReturnValues]

    class DOMDebugger:
        # DOM debugging allows setting breakpoints on particular DOM operations and events. JavaScript execution will stop on these operations as if there was a regular breakpoint set.
        # DOM breakpoint type.
        DOMBreakpointType = Literal['subtree-modified', 'attribute-modified', 'node-removed']
        # Object event listener.
        EventListener = Union[EventListener]
        # Returns event listeners of the given object.
        getEventListenersParameters = None
        # Returns event listeners of the given object.
        getEventListenersReturnValues = Union[getEventListenersReturnValues]
        # Removes DOM breakpoint that was set using `setDOMBreakpoint`.
        removeDOMBreakpointParameters = None
        # Removes DOM breakpoint that was set using `setDOMBreakpoint`.
        removeDOMBreakpointReturnValues = None
        # Removes breakpoint on particular DOM event.
        removeEventListenerBreakpointParameters = None
        # Removes breakpoint on particular DOM event.
        removeEventListenerBreakpointReturnValues = None
        # Removes breakpoint on particular native event.
        removeInstrumentationBreakpointParameters = None
        # Removes breakpoint on particular native event.
        removeInstrumentationBreakpointReturnValues = None
        # Removes breakpoint from XMLHttpRequest.
        removeXHRBreakpointParameters = None
        # Removes breakpoint from XMLHttpRequest.
        removeXHRBreakpointReturnValues = None
        # Sets breakpoint on particular operation with DOM.
        setDOMBreakpointParameters = None
        # Sets breakpoint on particular operation with DOM.
        setDOMBreakpointReturnValues = None
        # Sets breakpoint on particular DOM event.
        setEventListenerBreakpointParameters = None
        # Sets breakpoint on particular DOM event.
        setEventListenerBreakpointReturnValues = None
        # Sets breakpoint on particular native event.
        setInstrumentationBreakpointParameters = None
        # Sets breakpoint on particular native event.
        setInstrumentationBreakpointReturnValues = None
        # Sets breakpoint on XMLHttpRequest.
        setXHRBreakpointParameters = None
        # Sets breakpoint on XMLHttpRequest.
        setXHRBreakpointReturnValues = None

    class DOMSnapshot:
        # This domain facilitates obtaining document snapshots with DOM, layout, and style information.
        # A Node in the DOM tree.
        DOMNode = Union[DOMNode]
        # Details of post layout rendered text positions. The exact layout should not be regarded as stable and may change between versions.
        InlineTextBox = Union[InlineTextBox]
        # Details of an element in the DOM tree with a LayoutObject.
        LayoutTreeNode = Union[LayoutTreeNode]
        # A subset of the full ComputedStyle as defined by the request whitelist.
        ComputedStyle = Union[ComputedStyle]
        # A name/value pair.
        NameValue = Union[NameValue]
        # Index of the string in the strings table.
        StringIndex = int
        # Index of the string in the strings table.
        ArrayOfStrings = List[int]
        # Data that is only present on rare nodes.
        RareStringData = Union[RareStringData]
        RareBooleanData = Union[RareBooleanData]
        RareIntegerData = Union[RareIntegerData]
        Rectangle = List[float]
        # Document snapshot.
        DocumentSnapshot = Union[DocumentSnapshot]
        # Table containing nodes.
        NodeTreeSnapshot = Union[NodeTreeSnapshot]
        # Table of details of an element in the DOM tree with a LayoutObject.
        LayoutTreeSnapshot = Union[LayoutTreeSnapshot]
        # Table of details of the post layout rendered text positions. The exact layout should not be regarded as stable and may change between versions.
        TextBoxSnapshot = Union[TextBoxSnapshot]
        # Disables DOM snapshot agent for the given page.
        disableParameters = None
        # Disables DOM snapshot agent for the given page.
        disableReturnValues = None
        # Enables DOM snapshot agent for the given page.
        enableParameters = None
        # Enables DOM snapshot agent for the given page.
        enableReturnValues = None
        # Returns a document snapshot, including the full DOM tree of the root node (including iframes, template contents, and imported documents) in a flattened array, as well as layout and white-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is flattened.
        getSnapshotParameters = None
        # Returns a document snapshot, including the full DOM tree of the root node (including iframes, template contents, and imported documents) in a flattened array, as well as layout and white-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is flattened.
        getSnapshotReturnValues = Union[getSnapshotReturnValues]
        # Returns a document snapshot, including the full DOM tree of the root node (including iframes, template contents, and imported documents) in a flattened array, as well as layout and white-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is flattened.
        captureSnapshotParameters = None
        # Returns a document snapshot, including the full DOM tree of the root node (including iframes, template contents, and imported documents) in a flattened array, as well as layout and white-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is flattened.
        captureSnapshotReturnValues = Union[captureSnapshotReturnValues]

    class DOMStorage:
        # Query and modify DOM storage.
        # DOM Storage identifier.
        StorageId = Union[StorageId]
        # DOM Storage item.
        Item = List[str]
        domStorageItemAddedPayload = Union[domStorageItemAddedPayload]
        domStorageItemRemovedPayload = Union[domStorageItemRemovedPayload]
        domStorageItemUpdatedPayload = Union[domStorageItemUpdatedPayload]
        domStorageItemsClearedPayload = Union[domStorageItemsClearedPayload]
        clearParameters = None
        clearReturnValues = None
        # Disables storage tracking, prevents storage events from being sent to the client.
        disableParameters = None
        # Disables storage tracking, prevents storage events from being sent to the client.
        disableReturnValues = None
        # Enables storage tracking, storage events will now be delivered to the client.
        enableParameters = None
        # Enables storage tracking, storage events will now be delivered to the client.
        enableReturnValues = None
        getDOMStorageItemsParameters = None
        getDOMStorageItemsReturnValues = Union[getDOMStorageItemsReturnValues]
        removeDOMStorageItemParameters = None
        removeDOMStorageItemReturnValues = None
        setDOMStorageItemParameters = None
        setDOMStorageItemReturnValues = None

    class Database:
        # Unique identifier of Database object.
        DatabaseId = str
        # Database object.
        Database = Union[Database]
        # Database error.
        Error = Union[Error]
        addDatabasePayload = Union[addDatabasePayload]
        # Disables database tracking, prevents database events from being sent to the client.
        disableParameters = None
        # Disables database tracking, prevents database events from being sent to the client.
        disableReturnValues = None
        # Enables database tracking, database events will now be delivered to the client.
        enableParameters = None
        # Enables database tracking, database events will now be delivered to the client.
        enableReturnValues = None
        executeSQLParameters = None
        executeSQLReturnValues = Union[executeSQLReturnValues]
        getDatabaseTableNamesParameters = None
        getDatabaseTableNamesReturnValues = Union[getDatabaseTableNamesReturnValues]

    class DeviceOrientation:
        # Clears the overridden Device Orientation.
        clearDeviceOrientationOverrideParameters = None
        # Clears the overridden Device Orientation.
        clearDeviceOrientationOverrideReturnValues = None
        # Overrides the Device Orientation.
        setDeviceOrientationOverrideParameters = None
        # Overrides the Device Orientation.
        setDeviceOrientationOverrideReturnValues = None

    class Emulation:
        # This domain emulates different environments for the page.
        # Screen orientation.
        ScreenOrientation = Union[ScreenOrientation]
        MediaFeature = Union[MediaFeature]
        # advance: If the scheduler runs out of immediate work, the virtual time base may fast forward to allow the next delayed task (if any) to run; pause: The virtual time base may not advance; pauseIfNetworkFetchesPending: The virtual time base may not advance if there are any pending resource fetches.
        VirtualTimePolicy = Literal['advance', 'pause', 'pauseIfNetworkFetchesPending']
        # Notification sent after the virtual time budget for the current VirtualTimePolicy has run out.
        virtualTimeBudgetExpiredPayload = None
        # Tells whether emulation is supported.
        canEmulateParameters = None
        # Tells whether emulation is supported.
        canEmulateReturnValues = Union[canEmulateReturnValues]
        # Clears the overriden device metrics.
        clearDeviceMetricsOverrideParameters = None
        # Clears the overriden device metrics.
        clearDeviceMetricsOverrideReturnValues = None
        # Clears the overriden Geolocation Position and Error.
        clearGeolocationOverrideParameters = None
        # Clears the overriden Geolocation Position and Error.
        clearGeolocationOverrideReturnValues = None
        # Requests that page scale factor is reset to initial values.
        resetPageScaleFactorParameters = None
        # Requests that page scale factor is reset to initial values.
        resetPageScaleFactorReturnValues = None
        # Enables or disables simulating a focused and active page.
        setFocusEmulationEnabledParameters = None
        # Enables or disables simulating a focused and active page.
        setFocusEmulationEnabledReturnValues = None
        # Enables CPU throttling to emulate slow CPUs.
        setCPUThrottlingRateParameters = None
        # Enables CPU throttling to emulate slow CPUs.
        setCPUThrottlingRateReturnValues = None
        # Sets or clears an override of the default background color of the frame. This override is used if the content does not specify one.
        setDefaultBackgroundColorOverrideParameters = None
        # Sets or clears an override of the default background color of the frame. This override is used if the content does not specify one.
        setDefaultBackgroundColorOverrideReturnValues = None
        # Overrides the values of device screen dimensions (window.screen.width, window.screen.height, window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media query results).
        setDeviceMetricsOverrideParameters = None
        # Overrides the values of device screen dimensions (window.screen.width, window.screen.height, window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media query results).
        setDeviceMetricsOverrideReturnValues = None
        setScrollbarsHiddenParameters = None
        setScrollbarsHiddenReturnValues = None
        setDocumentCookieDisabledParameters = None
        setDocumentCookieDisabledReturnValues = None
        setEmitTouchEventsForMouseParameters = None
        setEmitTouchEventsForMouseReturnValues = None
        # Emulates the given media type or media feature for CSS media queries.
        setEmulatedMediaParameters = None
        # Emulates the given media type or media feature for CSS media queries.
        setEmulatedMediaReturnValues = None
        # Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position unavailable.
        setGeolocationOverrideParameters = None
        # Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position unavailable.
        setGeolocationOverrideReturnValues = None
        # Overrides value returned by the javascript navigator object.
        setNavigatorOverridesParameters = None
        # Overrides value returned by the javascript navigator object.
        setNavigatorOverridesReturnValues = None
        # Sets a specified page scale factor.
        setPageScaleFactorParameters = None
        # Sets a specified page scale factor.
        setPageScaleFactorReturnValues = None
        # Switches script execution in the page.
        setScriptExecutionDisabledParameters = None
        # Switches script execution in the page.
        setScriptExecutionDisabledReturnValues = None
        # Enables touch on platforms which do not support them.
        setTouchEmulationEnabledParameters = None
        # Enables touch on platforms which do not support them.
        setTouchEmulationEnabledReturnValues = None
        # Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets the current virtual time policy.  Note this supersedes any previous time budget.
        setVirtualTimePolicyParameters = None
        # Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets the current virtual time policy.  Note this supersedes any previous time budget.
        setVirtualTimePolicyReturnValues = Union[setVirtualTimePolicyReturnValues]
        # Overrides default host system timezone with the specified one.
        setTimezoneOverrideParameters = None
        # Overrides default host system timezone with the specified one.
        setTimezoneOverrideReturnValues = None
        # Resizes the frame/viewport of the page. Note that this does not affect the frame's container (e.g. browser window). Can be used to produce screenshots of the specified size. Not supported on Android.
        setVisibleSizeParameters = None
        # Resizes the frame/viewport of the page. Note that this does not affect the frame's container (e.g. browser window). Can be used to produce screenshots of the specified size. Not supported on Android.
        setVisibleSizeReturnValues = None
        # Allows overriding user agent with the given string.
        setUserAgentOverrideParameters = None
        # Allows overriding user agent with the given string.
        setUserAgentOverrideReturnValues = None

    class HeadlessExperimental:
        # This domain provides experimental commands only supported in headless mode.
        # Encoding options for a screenshot.
        ScreenshotParams = Union[ScreenshotParams]
        # Issued when the target starts or stops needing BeginFrames. Deprecated. Issue beginFrame unconditionally instead and use result from beginFrame to detect whether the frames were suppressed.
        needsBeginFramesChangedPayload = Union[needsBeginFramesChangedPayload]
        # Sends a BeginFrame to the target and returns when the frame was completed. Optionally captures a screenshot from the resulting frame. Requires that the target was created with enabled BeginFrameControl. Designed for use with --run-all-compositor-stages-before-draw, see also https://goo.gl/3zHXhB for more background.
        beginFrameParameters = None
        # Sends a BeginFrame to the target and returns when the frame was completed. Optionally captures a screenshot from the resulting frame. Requires that the target was created with enabled BeginFrameControl. Designed for use with --run-all-compositor-stages-before-draw, see also https://goo.gl/3zHXhB for more background.
        beginFrameReturnValues = Union[beginFrameReturnValues]
        # Disables headless events for the target.
        disableParameters = None
        # Disables headless events for the target.
        disableReturnValues = None
        # Enables headless events for the target.
        enableParameters = None
        # Enables headless events for the target.
        enableReturnValues = None

    class IO:
        # Input/Output operations for streams produced by DevTools.
        # This is either obtained from another method or specifed as `blob:&lt;uuid&gt;` where `&lt;uuid&gt` is an UUID of a Blob.
        StreamHandle = str
        # Close the stream, discard any temporary backing storage.
        closeParameters = None
        # Close the stream, discard any temporary backing storage.
        closeReturnValues = None
        # Read a chunk of the stream
        readParameters = None
        # Read a chunk of the stream
        readReturnValues = Union[readReturnValues]
        # Return UUID of Blob object specified by a remote object id.
        resolveBlobParameters = None
        # Return UUID of Blob object specified by a remote object id.
        resolveBlobReturnValues = Union[resolveBlobReturnValues]

    class IndexedDB:
        # Database with an array of object stores.
        DatabaseWithObjectStores = Union[DatabaseWithObjectStores]
        # Object store.
        ObjectStore = Union[ObjectStore]
        # Object store index.
        ObjectStoreIndex = Union[ObjectStoreIndex]
        # Key.
        Key = Union[Key]
        # Key range.
        KeyRange = Union[KeyRange]
        # Data entry.
        DataEntry = Union[DataEntry]
        # Key path.
        KeyPath = Union[KeyPath]
        # Clears all entries from an object store.
        clearObjectStoreParameters = None
        # Clears all entries from an object store.
        clearObjectStoreReturnValues = None
        # Deletes a database.
        deleteDatabaseParameters = None
        # Deletes a database.
        deleteDatabaseReturnValues = None
        # Delete a range of entries from an object store
        deleteObjectStoreEntriesParameters = None
        # Delete a range of entries from an object store
        deleteObjectStoreEntriesReturnValues = None
        # Disables events from backend.
        disableParameters = None
        # Disables events from backend.
        disableReturnValues = None
        # Enables events from backend.
        enableParameters = None
        # Enables events from backend.
        enableReturnValues = None
        # Requests data from object store or index.
        requestDataParameters = None
        # Requests data from object store or index.
        requestDataReturnValues = Union[requestDataReturnValues]
        # Gets metadata of an object store
        getMetadataParameters = None
        # Gets metadata of an object store
        getMetadataReturnValues = Union[getMetadataReturnValues]
        # Requests database with given name in given frame.
        requestDatabaseParameters = None
        # Requests database with given name in given frame.
        requestDatabaseReturnValues = Union[requestDatabaseReturnValues]
        # Requests database names for given security origin.
        requestDatabaseNamesParameters = None
        # Requests database names for given security origin.
        requestDatabaseNamesReturnValues = Union[requestDatabaseNamesReturnValues]

    class Input:
        TouchPoint = Union[TouchPoint]
        GestureSourceType = Literal['default', 'touch', 'mouse']
        # UTC time in seconds, counted from January 1, 1970.
        TimeSinceEpoch = float
        # Dispatches a key event to the page.
        dispatchKeyEventParameters = None
        # Dispatches a key event to the page.
        dispatchKeyEventReturnValues = None
        # This method emulates inserting text that doesn't come from a key press, for example an emoji keyboard or an IME.
        insertTextParameters = None
        # This method emulates inserting text that doesn't come from a key press, for example an emoji keyboard or an IME.
        insertTextReturnValues = None
        # Dispatches a mouse event to the page.
        dispatchMouseEventParameters = None
        # Dispatches a mouse event to the page.
        dispatchMouseEventReturnValues = None
        # Dispatches a touch event to the page.
        dispatchTouchEventParameters = None
        # Dispatches a touch event to the page.
        dispatchTouchEventReturnValues = None
        # Emulates touch event from the mouse event parameters.
        emulateTouchFromMouseEventParameters = None
        # Emulates touch event from the mouse event parameters.
        emulateTouchFromMouseEventReturnValues = None
        # Ignores input events (useful while auditing page).
        setIgnoreInputEventsParameters = None
        # Ignores input events (useful while auditing page).
        setIgnoreInputEventsReturnValues = None
        # Synthesizes a pinch gesture over a time period by issuing appropriate touch events.
        synthesizePinchGestureParameters = None
        # Synthesizes a pinch gesture over a time period by issuing appropriate touch events.
        synthesizePinchGestureReturnValues = None
        # Synthesizes a scroll gesture over a time period by issuing appropriate touch events.
        synthesizeScrollGestureParameters = None
        # Synthesizes a scroll gesture over a time period by issuing appropriate touch events.
        synthesizeScrollGestureReturnValues = None
        # Synthesizes a tap gesture over a time period by issuing appropriate touch events.
        synthesizeTapGestureParameters = None
        # Synthesizes a tap gesture over a time period by issuing appropriate touch events.
        synthesizeTapGestureReturnValues = None

    class Inspector:
        # Fired when remote debugging connection is about to be terminated. Contains detach reason.
        detachedPayload = Union[detachedPayload]
        # Fired when debugging target has crashed
        targetCrashedPayload = None
        # Fired when debugging target has reloaded after crash
        targetReloadedAfterCrashPayload = None
        # Disables inspector domain notifications.
        disableParameters = None
        # Disables inspector domain notifications.
        disableReturnValues = None
        # Enables inspector domain notifications.
        enableParameters = None
        # Enables inspector domain notifications.
        enableReturnValues = None

    class LayerTree:
        # Unique Layer identifier.
        LayerId = str
        # Unique snapshot identifier.
        SnapshotId = str
        # Rectangle where scrolling happens on the main thread.
        ScrollRect = Union[ScrollRect]
        # Sticky position constraints.
        StickyPositionConstraint = Union[StickyPositionConstraint]
        # Serialized fragment of layer picture along with its offset within the layer.
        PictureTile = Union[PictureTile]
        # Information about a compositing layer.
        Layer = Union[Layer]
        # Array of timings, one per paint step.
        PaintProfile = List[float]
        layerPaintedPayload = Union[layerPaintedPayload]
        layerTreeDidChangePayload = Union[layerTreeDidChangePayload]
        # Provides the reasons why the given layer was composited.
        compositingReasonsParameters = None
        # Provides the reasons why the given layer was composited.
        compositingReasonsReturnValues = Union[compositingReasonsReturnValues]
        # Disables compositing tree inspection.
        disableParameters = None
        # Disables compositing tree inspection.
        disableReturnValues = None
        # Enables compositing tree inspection.
        enableParameters = None
        # Enables compositing tree inspection.
        enableReturnValues = None
        # Returns the snapshot identifier.
        loadSnapshotParameters = None
        # Returns the snapshot identifier.
        loadSnapshotReturnValues = Union[loadSnapshotReturnValues]
        # Returns the layer snapshot identifier.
        makeSnapshotParameters = None
        # Returns the layer snapshot identifier.
        makeSnapshotReturnValues = Union[makeSnapshotReturnValues]
        profileSnapshotParameters = None
        profileSnapshotReturnValues = Union[profileSnapshotReturnValues]
        # Releases layer snapshot captured by the back-end.
        releaseSnapshotParameters = None
        # Releases layer snapshot captured by the back-end.
        releaseSnapshotReturnValues = None
        # Replays the layer snapshot and returns the resulting bitmap.
        replaySnapshotParameters = None
        # Replays the layer snapshot and returns the resulting bitmap.
        replaySnapshotReturnValues = Union[replaySnapshotReturnValues]
        # Replays the layer snapshot and returns canvas log.
        snapshotCommandLogParameters = None
        # Replays the layer snapshot and returns canvas log.
        snapshotCommandLogReturnValues = Union[snapshotCommandLogReturnValues]

    class Log:
        # Provides access to log entries.
        # Log entry.
        LogEntry = Union[LogEntry]
        # Violation configuration setting.
        ViolationSetting = Union[ViolationSetting]
        # Issued when new message was logged.
        entryAddedPayload = Union[entryAddedPayload]
        # Clears the log.
        clearParameters = None
        # Clears the log.
        clearReturnValues = None
        # Disables log domain, prevents further log entries from being reported to the client.
        disableParameters = None
        # Disables log domain, prevents further log entries from being reported to the client.
        disableReturnValues = None
        # Enables log domain, sends the entries collected so far to the client by means of the `entryAdded` notification.
        enableParameters = None
        # Enables log domain, sends the entries collected so far to the client by means of the `entryAdded` notification.
        enableReturnValues = None
        # start violation reporting.
        startViolationsReportParameters = None
        # start violation reporting.
        startViolationsReportReturnValues = None
        # Stop violation reporting.
        stopViolationsReportParameters = None
        # Stop violation reporting.
        stopViolationsReportReturnValues = None

    class Memory:
        # Memory pressure level.
        PressureLevel = Literal['moderate', 'critical']
        # Heap profile sample.
        SamplingProfileNode = Union[SamplingProfileNode]
        # Array of heap profile samples.
        SamplingProfile = Union[SamplingProfile]
        # Executable module information
        Module = Union[Module]
        getDOMCountersParameters = None
        getDOMCountersReturnValues = Union[getDOMCountersReturnValues]
        prepareForLeakDetectionParameters = None
        prepareForLeakDetectionReturnValues = None
        # Simulate OomIntervention by purging V8 memory.
        forciblyPurgeJavaScriptMemoryParameters = None
        # Simulate OomIntervention by purging V8 memory.
        forciblyPurgeJavaScriptMemoryReturnValues = None
        # Enable/disable suppressing memory pressure notifications in all processes.
        setPressureNotificationsSuppressedParameters = None
        # Enable/disable suppressing memory pressure notifications in all processes.
        setPressureNotificationsSuppressedReturnValues = None
        # Simulate a memory pressure notification in all processes.
        simulatePressureNotificationParameters = None
        # Simulate a memory pressure notification in all processes.
        simulatePressureNotificationReturnValues = None
        # Start collecting native memory profile.
        startSamplingParameters = None
        # Start collecting native memory profile.
        startSamplingReturnValues = None
        # Stop collecting native memory profile.
        stopSamplingParameters = None
        # Stop collecting native memory profile.
        stopSamplingReturnValues = None
        # Retrieve native memory allocations profile collected since renderer process startup.
        getAllTimeSamplingProfileParameters = None
        # Retrieve native memory allocations profile collected since renderer process startup.
        getAllTimeSamplingProfileReturnValues = Union[getAllTimeSamplingProfileReturnValues]
        # Retrieve native memory allocations profile collected since browser process startup.
        getBrowserSamplingProfileParameters = None
        # Retrieve native memory allocations profile collected since browser process startup.
        getBrowserSamplingProfileReturnValues = Union[getBrowserSamplingProfileReturnValues]
        # Retrieve native memory allocations profile collected since last `startSampling` call.
        getSamplingProfileParameters = None
        # Retrieve native memory allocations profile collected since last `startSampling` call.
        getSamplingProfileReturnValues = Union[getSamplingProfileReturnValues]

    class Network:
        # Network domain allows tracking network activities of the page. It exposes information about http, file, data and other requests and responses, their headers, bodies, timing, etc.
        # Resource type as it was perceived by the rendering engine.
        ResourceType = Literal[
            'Document',
            'Stylesheet',
            'Image',
            'Media',
            'Font',
            'Script',
            'TextTrack',
            'XHR',
            'Fetch',
            'EventSource',
            'WebSocket',
            'Manifest',
            'SignedExchange',
            'Ping',
            'CSPViolationReport',
            'Other',
        ]
        # Unique loader identifier.
        LoaderId = str
        # Unique request identifier.
        RequestId = str
        # Unique intercepted request identifier.
        InterceptionId = str
        # Network level fetch failure reason.
        ErrorReason = Literal[
            'Failed',
            'Aborted',
            'TimedOut',
            'AccessDenied',
            'ConnectionClosed',
            'ConnectionReset',
            'ConnectionRefused',
            'ConnectionAborted',
            'ConnectionFailed',
            'NameNotResolved',
            'InternetDisconnected',
            'AddressUnreachable',
            'BlockedByClient',
            'BlockedByResponse',
        ]
        # UTC time in seconds, counted from January 1, 1970.
        TimeSinceEpoch = float
        # Monotonically increasing time in seconds since an arbitrary point in the past.
        MonotonicTime = float
        # Request / response headers as keys / values of JSON object.
        Headers = Dict[str, str]
        # The underlying connection technology that the browser is supposedly using.
        ConnectionType = Literal[
            'none', 'cellular2g', 'cellular3g', 'cellular4g', 'bluetooth', 'ethernet', 'wifi', 'wimax', 'other'
        ]
        # Represents the cookie's 'SameSite' status: https://tools.ietf.org/html/draft-west-first-party-cookies
        CookieSameSite = Literal['Strict', 'Lax', 'None']
        # Timing information for the request.
        ResourceTiming = Union[ResourceTiming]
        # Loading priority of a resource request.
        ResourcePriority = Literal['VeryLow', 'Low', 'Medium', 'High', 'VeryHigh']
        # HTTP request data.
        Request = Union[Request]
        # Details of a signed certificate timestamp (SCT).
        SignedCertificateTimestamp = Union[SignedCertificateTimestamp]
        # Security details about a request.
        SecurityDetails = Union[SecurityDetails]
        # Whether the request complied with Certificate Transparency policy.
        CertificateTransparencyCompliance = Literal['unknown', 'not-compliant', 'compliant']
        # The reason why request was blocked.
        BlockedReason = Literal[
            'other',
            'csp',
            'mixed-content',
            'origin',
            'inspector',
            'subresource-filter',
            'content-type',
            'collapsed-by-client',
        ]
        # HTTP response data.
        Response = Union[Response]
        # WebSocket request data.
        WebSocketRequest = Union[WebSocketRequest]
        # WebSocket response data.
        WebSocketResponse = Union[WebSocketResponse]
        # WebSocket message data. This represents an entire WebSocket message, not just a fragmented frame as the name suggests.
        WebSocketFrame = Union[WebSocketFrame]
        # Information about the cached resource.
        CachedResource = Union[CachedResource]
        # Information about the request initiator.
        Initiator = Union[Initiator]
        # Cookie object
        Cookie = Union[Cookie]
        # Types of reasons why a cookie may not be stored from a response.
        SetCookieBlockedReason = Literal[
            'SecureOnly',
            'SameSiteStrict',
            'SameSiteLax',
            'SameSiteUnspecifiedTreatedAsLax',
            'SameSiteNoneInsecure',
            'UserPreferences',
            'SyntaxError',
            'SchemeNotSupported',
            'OverwriteSecure',
            'InvalidDomain',
            'InvalidPrefix',
            'UnknownError',
        ]
        # Types of reasons why a cookie may not be sent with a request.
        CookieBlockedReason = Literal[
            'SecureOnly',
            'NotOnPath',
            'DomainMismatch',
            'SameSiteStrict',
            'SameSiteLax',
            'SameSiteUnspecifiedTreatedAsLax',
            'SameSiteNoneInsecure',
            'UserPreferences',
            'UnknownError',
        ]
        # A cookie which was not stored from a response with the corresponding reason.
        BlockedSetCookieWithReason = Union[BlockedSetCookieWithReason]
        # A cookie with was not sent with a request with the corresponding reason.
        BlockedCookieWithReason = Union[BlockedCookieWithReason]
        # Cookie parameter object
        CookieParam = Union[CookieParam]
        # Authorization challenge for HTTP status code 401 or 407.
        AuthChallenge = Union[AuthChallenge]
        # Response to an AuthChallenge.
        AuthChallengeResponse = Union[AuthChallengeResponse]
        # Stages of the interception to begin intercepting. Request will intercept before the request is sent. Response will intercept after the response is received.
        InterceptionStage = Literal['Request', 'HeadersReceived']
        # Request pattern for interception.
        RequestPattern = Union[RequestPattern]
        # Information about a signed exchange signature. https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#rfc.section.3.1
        SignedExchangeSignature = Union[SignedExchangeSignature]
        # Information about a signed exchange header. https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#cbor-representation
        SignedExchangeHeader = Union[SignedExchangeHeader]
        # Field type for a signed exchange related error.
        SignedExchangeErrorField = Literal[
            'signatureSig',
            'signatureIntegrity',
            'signatureCertUrl',
            'signatureCertSha256',
            'signatureValidityUrl',
            'signatureTimestamps',
        ]
        # Information about a signed exchange response.
        SignedExchangeError = Union[SignedExchangeError]
        # Information about a signed exchange response.
        SignedExchangeInfo = Union[SignedExchangeInfo]
        # Fired when data chunk was received over the network.
        dataReceivedPayload = Union[dataReceivedPayload]
        # Fired when EventSource message is received.
        eventSourceMessageReceivedPayload = Union[eventSourceMessageReceivedPayload]
        # Fired when HTTP request has failed to load.
        loadingFailedPayload = Union[loadingFailedPayload]
        # Fired when HTTP request has finished loading.
        loadingFinishedPayload = Union[loadingFinishedPayload]
        # Details of an intercepted HTTP request, which must be either allowed, blocked, modified or mocked. Deprecated, use Fetch.requestPaused instead.
        requestInterceptedPayload = Union[requestInterceptedPayload]
        # Fired if request ended up loading from cache.
        requestServedFromCachePayload = Union[requestServedFromCachePayload]
        # Fired when page is about to send HTTP request.
        requestWillBeSentPayload = Union[requestWillBeSentPayload]
        # Fired when resource loading priority is changed
        resourceChangedPriorityPayload = Union[resourceChangedPriorityPayload]
        # Fired when a signed exchange was received over the network
        signedExchangeReceivedPayload = Union[signedExchangeReceivedPayload]
        # Fired when HTTP response is available.
        responseReceivedPayload = Union[responseReceivedPayload]
        # Fired when WebSocket is closed.
        webSocketClosedPayload = Union[webSocketClosedPayload]
        # Fired upon WebSocket creation.
        webSocketCreatedPayload = Union[webSocketCreatedPayload]
        # Fired when WebSocket message error occurs.
        webSocketFrameErrorPayload = Union[webSocketFrameErrorPayload]
        # Fired when WebSocket message is received.
        webSocketFrameReceivedPayload = Union[webSocketFrameReceivedPayload]
        # Fired when WebSocket message is sent.
        webSocketFrameSentPayload = Union[webSocketFrameSentPayload]
        # Fired when WebSocket handshake response becomes available.
        webSocketHandshakeResponseReceivedPayload = Union[webSocketHandshakeResponseReceivedPayload]
        # Fired when WebSocket is about to initiate handshake.
        webSocketWillSendHandshakeRequestPayload = Union[webSocketWillSendHandshakeRequestPayload]
        # Fired when additional information about a requestWillBeSent event is available from the network stack. Not every requestWillBeSent event will have an additional requestWillBeSentExtraInfo fired for it, and there is no guarantee whether requestWillBeSent or requestWillBeSentExtraInfo will be fired first for the same request.
        requestWillBeSentExtraInfoPayload = Union[requestWillBeSentExtraInfoPayload]
        # Fired when additional information about a responseReceived event is available from the network stack. Not every responseReceived event will have an additional responseReceivedExtraInfo for it, and responseReceivedExtraInfo may be fired before or after responseReceived.
        responseReceivedExtraInfoPayload = Union[responseReceivedExtraInfoPayload]
        # Tells whether clearing browser cache is supported.
        canClearBrowserCacheParameters = None
        # Tells whether clearing browser cache is supported.
        canClearBrowserCacheReturnValues = Union[canClearBrowserCacheReturnValues]
        # Tells whether clearing browser cookies is supported.
        canClearBrowserCookiesParameters = None
        # Tells whether clearing browser cookies is supported.
        canClearBrowserCookiesReturnValues = Union[canClearBrowserCookiesReturnValues]
        # Tells whether emulation of network conditions is supported.
        canEmulateNetworkConditionsParameters = None
        # Tells whether emulation of network conditions is supported.
        canEmulateNetworkConditionsReturnValues = Union[canEmulateNetworkConditionsReturnValues]
        # Clears browser cache.
        clearBrowserCacheParameters = None
        # Clears browser cache.
        clearBrowserCacheReturnValues = None
        # Clears browser cookies.
        clearBrowserCookiesParameters = None
        # Clears browser cookies.
        clearBrowserCookiesReturnValues = None
        # Response to Network.requestIntercepted which either modifies the request to continue with any modifications, or blocks it, or completes it with the provided response bytes. If a network fetch occurs as a result which encounters a redirect an additional Network.requestIntercepted event will be sent with the same InterceptionId. Deprecated, use Fetch.continueRequest, Fetch.fulfillRequest and Fetch.failRequest instead.
        continueInterceptedRequestParameters = None
        # Response to Network.requestIntercepted which either modifies the request to continue with any modifications, or blocks it, or completes it with the provided response bytes. If a network fetch occurs as a result which encounters a redirect an additional Network.requestIntercepted event will be sent with the same InterceptionId. Deprecated, use Fetch.continueRequest, Fetch.fulfillRequest and Fetch.failRequest instead.
        continueInterceptedRequestReturnValues = None
        # Deletes browser cookies with matching name and url or domain/path pair.
        deleteCookiesParameters = None
        # Deletes browser cookies with matching name and url or domain/path pair.
        deleteCookiesReturnValues = None
        # Disables network tracking, prevents network events from being sent to the client.
        disableParameters = None
        # Disables network tracking, prevents network events from being sent to the client.
        disableReturnValues = None
        # Activates emulation of network conditions.
        emulateNetworkConditionsParameters = None
        # Activates emulation of network conditions.
        emulateNetworkConditionsReturnValues = None
        # Enables network tracking, network events will now be delivered to the client.
        enableParameters = None
        # Enables network tracking, network events will now be delivered to the client.
        enableReturnValues = None
        # Returns all browser cookies. Depending on the backend support, will return detailed cookie information in the `cookies` field.
        getAllCookiesParameters = None
        # Returns all browser cookies. Depending on the backend support, will return detailed cookie information in the `cookies` field.
        getAllCookiesReturnValues = Union[getAllCookiesReturnValues]
        # Returns the DER-encoded certificate.
        getCertificateParameters = None
        # Returns the DER-encoded certificate.
        getCertificateReturnValues = Union[getCertificateReturnValues]
        # Returns all browser cookies for the current URL. Depending on the backend support, will return detailed cookie information in the `cookies` field.
        getCookiesParameters = None
        # Returns all browser cookies for the current URL. Depending on the backend support, will return detailed cookie information in the `cookies` field.
        getCookiesReturnValues = Union[getCookiesReturnValues]
        # Returns content served for the given request.
        getResponseBodyParameters = None
        # Returns content served for the given request.
        getResponseBodyReturnValues = Union[getResponseBodyReturnValues]
        # Returns post data sent with the request. Returns an error when no data was sent with the request.
        getRequestPostDataParameters = None
        # Returns post data sent with the request. Returns an error when no data was sent with the request.
        getRequestPostDataReturnValues = Union[getRequestPostDataReturnValues]
        # Returns content served for the given currently intercepted request.
        getResponseBodyForInterceptionParameters = None
        # Returns content served for the given currently intercepted request.
        getResponseBodyForInterceptionReturnValues = Union[getResponseBodyForInterceptionReturnValues]
        # Returns a handle to the stream representing the response body. Note that after this command, the intercepted request can't be continued as is -- you either need to cancel it or to provide the response body. The stream only supports sequential read, IO.read will fail if the position is specified.
        takeResponseBodyForInterceptionAsStreamParameters = None
        # Returns a handle to the stream representing the response body. Note that after this command, the intercepted request can't be continued as is -- you either need to cancel it or to provide the response body. The stream only supports sequential read, IO.read will fail if the position is specified.
        takeResponseBodyForInterceptionAsStreamReturnValues = Union[takeResponseBodyForInterceptionAsStreamReturnValues]
        # This method sends a new XMLHttpRequest which is identical to the original one. The following parameters should be identical: method, url, async, request body, extra headers, withCredentials attribute, user, password.
        replayXHRParameters = None
        # This method sends a new XMLHttpRequest which is identical to the original one. The following parameters should be identical: method, url, async, request body, extra headers, withCredentials attribute, user, password.
        replayXHRReturnValues = None
        # Searches for given string in response content.
        searchInResponseBodyParameters = None
        # Searches for given string in response content.
        searchInResponseBodyReturnValues = Union[searchInResponseBodyReturnValues]
        # Blocks URLs from loading.
        setBlockedURLsParameters = None
        # Blocks URLs from loading.
        setBlockedURLsReturnValues = None
        # Toggles ignoring of service worker for each request.
        setBypassServiceWorkerParameters = None
        # Toggles ignoring of service worker for each request.
        setBypassServiceWorkerReturnValues = None
        # Toggles ignoring cache for each request. If `true`, cache will not be used.
        setCacheDisabledParameters = None
        # Toggles ignoring cache for each request. If `true`, cache will not be used.
        setCacheDisabledReturnValues = None
        # Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.
        setCookieParameters = None
        # Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.
        setCookieReturnValues = Union[setCookieReturnValues]
        # Sets given cookies.
        setCookiesParameters = None
        # Sets given cookies.
        setCookiesReturnValues = None
        # For testing.
        setDataSizeLimitsForTestParameters = None
        # For testing.
        setDataSizeLimitsForTestReturnValues = None
        # Specifies whether to always send extra HTTP headers with the requests from this page.
        setExtraHTTPHeadersParameters = None
        # Specifies whether to always send extra HTTP headers with the requests from this page.
        setExtraHTTPHeadersReturnValues = None
        # Sets the requests to intercept that match the provided patterns and optionally resource types. Deprecated, please use Fetch.enable instead.
        setRequestInterceptionParameters = None
        # Sets the requests to intercept that match the provided patterns and optionally resource types. Deprecated, please use Fetch.enable instead.
        setRequestInterceptionReturnValues = None
        # Allows overriding user agent with the given string.
        setUserAgentOverrideParameters = None
        # Allows overriding user agent with the given string.
        setUserAgentOverrideReturnValues = None

    class Overlay:
        # This domain provides various functionality related to drawing atop the inspected page.
        # Configuration data for the highlighting of page elements.
        HighlightConfig = Union[HighlightConfig]
        InspectMode = Literal['searchForNode', 'searchForUAShadowDOM', 'captureAreaScreenshot', 'showDistances', 'none']
        # Fired when the node should be inspected. This happens after call to `setInspectMode` or when user manually inspects an element.
        inspectNodeRequestedPayload = Union[inspectNodeRequestedPayload]
        # Fired when the node should be highlighted. This happens after call to `setInspectMode`.
        nodeHighlightRequestedPayload = Union[nodeHighlightRequestedPayload]
        # Fired when user asks to capture screenshot of some area on the page.
        screenshotRequestedPayload = Union[screenshotRequestedPayload]
        # Fired when user cancels the inspect mode.
        inspectModeCanceledPayload = None
        # Disables domain notifications.
        disableParameters = None
        # Disables domain notifications.
        disableReturnValues = None
        # Enables domain notifications.
        enableParameters = None
        # Enables domain notifications.
        enableReturnValues = None
        # For testing.
        getHighlightObjectForTestParameters = None
        # For testing.
        getHighlightObjectForTestReturnValues = Union[getHighlightObjectForTestReturnValues]
        # Hides any highlight.
        hideHighlightParameters = None
        # Hides any highlight.
        hideHighlightReturnValues = None
        # Highlights owner element of the frame with given id.
        highlightFrameParameters = None
        # Highlights owner element of the frame with given id.
        highlightFrameReturnValues = None
        # Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or objectId must be specified.
        highlightNodeParameters = None
        # Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or objectId must be specified.
        highlightNodeReturnValues = None
        # Highlights given quad. Coordinates are absolute with respect to the main frame viewport.
        highlightQuadParameters = None
        # Highlights given quad. Coordinates are absolute with respect to the main frame viewport.
        highlightQuadReturnValues = None
        # Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport.
        highlightRectParameters = None
        # Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport.
        highlightRectReturnValues = None
        # Enters the 'inspect' mode. In this mode, elements that user is hovering over are highlighted. Backend then generates 'inspectNodeRequested' event upon element selection.
        setInspectModeParameters = None
        # Enters the 'inspect' mode. In this mode, elements that user is hovering over are highlighted. Backend then generates 'inspectNodeRequested' event upon element selection.
        setInspectModeReturnValues = None
        # Highlights owner element of all frames detected to be ads.
        setShowAdHighlightsParameters = None
        # Highlights owner element of all frames detected to be ads.
        setShowAdHighlightsReturnValues = None
        setPausedInDebuggerMessageParameters = None
        setPausedInDebuggerMessageReturnValues = None
        # Requests that backend shows debug borders on layers
        setShowDebugBordersParameters = None
        # Requests that backend shows debug borders on layers
        setShowDebugBordersReturnValues = None
        # Requests that backend shows the FPS counter
        setShowFPSCounterParameters = None
        # Requests that backend shows the FPS counter
        setShowFPSCounterReturnValues = None
        # Requests that backend shows paint rectangles
        setShowPaintRectsParameters = None
        # Requests that backend shows paint rectangles
        setShowPaintRectsReturnValues = None
        # Requests that backend shows layout shift regions
        setShowLayoutShiftRegionsParameters = None
        # Requests that backend shows layout shift regions
        setShowLayoutShiftRegionsReturnValues = None
        # Requests that backend shows scroll bottleneck rects
        setShowScrollBottleneckRectsParameters = None
        # Requests that backend shows scroll bottleneck rects
        setShowScrollBottleneckRectsReturnValues = None
        # Requests that backend shows hit-test borders on layers
        setShowHitTestBordersParameters = None
        # Requests that backend shows hit-test borders on layers
        setShowHitTestBordersReturnValues = None
        # Paints viewport size upon main frame resize.
        setShowViewportSizeOnResizeParameters = None
        # Paints viewport size upon main frame resize.
        setShowViewportSizeOnResizeReturnValues = None

    class Page:
        # Actions and events related to the inspected page belong to the page domain.
        # Unique frame identifier.
        FrameId = str
        # Information about the Frame on the page.
        Frame = Union[Frame]
        # Information about the Resource on the page.
        FrameResource = Union[FrameResource]
        # Information about the Frame hierarchy along with their cached resources.
        FrameResourceTree = Union[FrameResourceTree]
        # Information about the Frame hierarchy.
        FrameTree = Union[FrameTree]
        # Unique script identifier.
        ScriptIdentifier = str
        # Transition type.
        TransitionType = Literal[
            'link',
            'typed',
            'address_bar',
            'auto_bookmark',
            'auto_subframe',
            'manual_subframe',
            'generated',
            'auto_toplevel',
            'form_submit',
            'reload',
            'keyword',
            'keyword_generated',
            'other',
        ]
        # Navigation history entry.
        NavigationEntry = Union[NavigationEntry]
        # Screencast frame metadata.
        ScreencastFrameMetadata = Union[ScreencastFrameMetadata]
        # Javascript dialog type.
        DialogType = Literal['alert', 'confirm', 'prompt', 'beforeunload']
        # Error while paring app manifest.
        AppManifestError = Union[AppManifestError]
        # Layout viewport position and dimensions.
        LayoutViewport = Union[LayoutViewport]
        # Visual viewport position, dimensions, and scale.
        VisualViewport = Union[VisualViewport]
        # Viewport for capturing screenshot.
        Viewport = Union[Viewport]
        # Generic font families collection.
        FontFamilies = Union[FontFamilies]
        # Default font sizes.
        FontSizes = Union[FontSizes]
        ClientNavigationReason = Literal[
            'formSubmissionGet',
            'formSubmissionPost',
            'httpHeaderRefresh',
            'scriptInitiated',
            'metaTagRefresh',
            'pageBlockInterstitial',
            'reload',
        ]
        domContentEventFiredPayload = Union[domContentEventFiredPayload]
        # Emitted only when `page.interceptFileChooser` is enabled.
        fileChooserOpenedPayload = Union[fileChooserOpenedPayload]
        # Fired when frame has been attached to its parent.
        frameAttachedPayload = Union[frameAttachedPayload]
        # Fired when frame no longer has a scheduled navigation.
        frameClearedScheduledNavigationPayload = Union[frameClearedScheduledNavigationPayload]
        # Fired when frame has been detached from its parent.
        frameDetachedPayload = Union[frameDetachedPayload]
        # Fired once navigation of the frame has completed. Frame is now associated with the new loader.
        frameNavigatedPayload = Union[frameNavigatedPayload]
        frameResizedPayload = None
        # Fired when a renderer-initiated navigation is requested. Navigation may still be cancelled after the event is issued.
        frameRequestedNavigationPayload = Union[frameRequestedNavigationPayload]
        # Fired when frame schedules a potential navigation.
        frameScheduledNavigationPayload = Union[frameScheduledNavigationPayload]
        # Fired when frame has started loading.
        frameStartedLoadingPayload = Union[frameStartedLoadingPayload]
        # Fired when frame has stopped loading.
        frameStoppedLoadingPayload = Union[frameStoppedLoadingPayload]
        # Fired when page is about to start a download.
        downloadWillBeginPayload = Union[downloadWillBeginPayload]
        # Fired when interstitial page was hidden
        interstitialHiddenPayload = None
        # Fired when interstitial page was shown
        interstitialShownPayload = None
        # Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) has been closed.
        javascriptDialogClosedPayload = Union[javascriptDialogClosedPayload]
        # Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) is about to open.
        javascriptDialogOpeningPayload = Union[javascriptDialogOpeningPayload]
        # Fired for top level page lifecycle events such as navigation, load, paint, etc.
        lifecycleEventPayload = Union[lifecycleEventPayload]
        loadEventFiredPayload = Union[loadEventFiredPayload]
        # Fired when same-document navigation happens, e.g. due to history API usage or anchor navigation.
        navigatedWithinDocumentPayload = Union[navigatedWithinDocumentPayload]
        # Compressed image data requested by the `startScreencast`.
        screencastFramePayload = Union[screencastFramePayload]
        # Fired when the page with currently enabled screencast was shown or hidden `.
        screencastVisibilityChangedPayload = Union[screencastVisibilityChangedPayload]
        # Fired when a new window is going to be opened, via window.open(), link click, form submission, etc.
        windowOpenPayload = Union[windowOpenPayload]
        # Issued for every compilation cache generated. Is only available if Page.setGenerateCompilationCache is enabled.
        compilationCacheProducedPayload = Union[compilationCacheProducedPayload]
        # Deprecated, please use addScriptToEvaluateOnNewDocument instead.
        addScriptToEvaluateOnLoadParameters = None
        # Deprecated, please use addScriptToEvaluateOnNewDocument instead.
        addScriptToEvaluateOnLoadReturnValues = Union[addScriptToEvaluateOnLoadReturnValues]
        # Evaluates given script in every frame upon creation (before loading frame's scripts).
        addScriptToEvaluateOnNewDocumentParameters = None
        # Evaluates given script in every frame upon creation (before loading frame's scripts).
        addScriptToEvaluateOnNewDocumentReturnValues = Union[addScriptToEvaluateOnNewDocumentReturnValues]
        # Brings page to front (activates tab).
        bringToFrontParameters = None
        # Brings page to front (activates tab).
        bringToFrontReturnValues = None
        # Capture page screenshot.
        captureScreenshotParameters = None
        # Capture page screenshot.
        captureScreenshotReturnValues = Union[captureScreenshotReturnValues]
        # Returns a snapshot of the page as a string. For MHTML format, the serialization includes iframes, shadow DOM, external resources, and element-inline styles.
        captureSnapshotParameters = None
        # Returns a snapshot of the page as a string. For MHTML format, the serialization includes iframes, shadow DOM, external resources, and element-inline styles.
        captureSnapshotReturnValues = Union[captureSnapshotReturnValues]
        # Clears the overriden device metrics.
        clearDeviceMetricsOverrideParameters = None
        # Clears the overriden device metrics.
        clearDeviceMetricsOverrideReturnValues = None
        # Clears the overridden Device Orientation.
        clearDeviceOrientationOverrideParameters = None
        # Clears the overridden Device Orientation.
        clearDeviceOrientationOverrideReturnValues = None
        # Clears the overriden Geolocation Position and Error.
        clearGeolocationOverrideParameters = None
        # Clears the overriden Geolocation Position and Error.
        clearGeolocationOverrideReturnValues = None
        # Creates an isolated world for the given frame.
        createIsolatedWorldParameters = None
        # Creates an isolated world for the given frame.
        createIsolatedWorldReturnValues = Union[createIsolatedWorldReturnValues]
        # Deletes browser cookie with given name, domain and path.
        deleteCookieParameters = None
        # Deletes browser cookie with given name, domain and path.
        deleteCookieReturnValues = None
        # Disables page domain notifications.
        disableParameters = None
        # Disables page domain notifications.
        disableReturnValues = None
        # Enables page domain notifications.
        enableParameters = None
        # Enables page domain notifications.
        enableReturnValues = None
        getAppManifestParameters = None
        getAppManifestReturnValues = Union[getAppManifestReturnValues]
        getInstallabilityErrorsParameters = None
        getInstallabilityErrorsReturnValues = Union[getInstallabilityErrorsReturnValues]
        # Returns all browser cookies. Depending on the backend support, will return detailed cookie information in the `cookies` field.
        getCookiesParameters = None
        # Returns all browser cookies. Depending on the backend support, will return detailed cookie information in the `cookies` field.
        getCookiesReturnValues = Union[getCookiesReturnValues]
        # Returns present frame tree structure.
        getFrameTreeParameters = None
        # Returns present frame tree structure.
        getFrameTreeReturnValues = Union[getFrameTreeReturnValues]
        # Returns metrics relating to the layouting of the page, such as viewport bounds/scale.
        getLayoutMetricsParameters = None
        # Returns metrics relating to the layouting of the page, such as viewport bounds/scale.
        getLayoutMetricsReturnValues = Union[getLayoutMetricsReturnValues]
        # Returns navigation history for the current page.
        getNavigationHistoryParameters = None
        # Returns navigation history for the current page.
        getNavigationHistoryReturnValues = Union[getNavigationHistoryReturnValues]
        # Resets navigation history for the current page.
        resetNavigationHistoryParameters = None
        # Resets navigation history for the current page.
        resetNavigationHistoryReturnValues = None
        # Returns content of the given resource.
        getResourceContentParameters = None
        # Returns content of the given resource.
        getResourceContentReturnValues = Union[getResourceContentReturnValues]
        # Returns present frame / resource tree structure.
        getResourceTreeParameters = None
        # Returns present frame / resource tree structure.
        getResourceTreeReturnValues = Union[getResourceTreeReturnValues]
        # Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).
        handleJavaScriptDialogParameters = None
        # Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).
        handleJavaScriptDialogReturnValues = None
        # Navigates current page to the given URL.
        navigateParameters = None
        # Navigates current page to the given URL.
        navigateReturnValues = Union[navigateReturnValues]
        # Navigates current page to the given history entry.
        navigateToHistoryEntryParameters = None
        # Navigates current page to the given history entry.
        navigateToHistoryEntryReturnValues = None
        # Print page as PDF.
        printToPDFParameters = None
        # Print page as PDF.
        printToPDFReturnValues = Union[printToPDFReturnValues]
        # Reloads given page optionally ignoring the cache.
        reloadParameters = None
        # Reloads given page optionally ignoring the cache.
        reloadReturnValues = None
        # Deprecated, please use removeScriptToEvaluateOnNewDocument instead.
        removeScriptToEvaluateOnLoadParameters = None
        # Deprecated, please use removeScriptToEvaluateOnNewDocument instead.
        removeScriptToEvaluateOnLoadReturnValues = None
        # Removes given script from the list.
        removeScriptToEvaluateOnNewDocumentParameters = None
        # Removes given script from the list.
        removeScriptToEvaluateOnNewDocumentReturnValues = None
        # Acknowledges that a screencast frame has been received by the frontend.
        screencastFrameAckParameters = None
        # Acknowledges that a screencast frame has been received by the frontend.
        screencastFrameAckReturnValues = None
        # Searches for given string in resource content.
        searchInResourceParameters = None
        # Searches for given string in resource content.
        searchInResourceReturnValues = Union[searchInResourceReturnValues]
        # Enable Chrome's experimental ad filter on all sites.
        setAdBlockingEnabledParameters = None
        # Enable Chrome's experimental ad filter on all sites.
        setAdBlockingEnabledReturnValues = None
        # Enable page Content Security Policy by-passing.
        setBypassCSPParameters = None
        # Enable page Content Security Policy by-passing.
        setBypassCSPReturnValues = None
        # Overrides the values of device screen dimensions (window.screen.width, window.screen.height, window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media query results).
        setDeviceMetricsOverrideParameters = None
        # Overrides the values of device screen dimensions (window.screen.width, window.screen.height, window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media query results).
        setDeviceMetricsOverrideReturnValues = None
        # Overrides the Device Orientation.
        setDeviceOrientationOverrideParameters = None
        # Overrides the Device Orientation.
        setDeviceOrientationOverrideReturnValues = None
        # Set generic font families.
        setFontFamiliesParameters = None
        # Set generic font families.
        setFontFamiliesReturnValues = None
        # Set default font sizes.
        setFontSizesParameters = None
        # Set default font sizes.
        setFontSizesReturnValues = None
        # Sets given markup as the document's HTML.
        setDocumentContentParameters = None
        # Sets given markup as the document's HTML.
        setDocumentContentReturnValues = None
        # Set the behavior when downloading a file.
        setDownloadBehaviorParameters = None
        # Set the behavior when downloading a file.
        setDownloadBehaviorReturnValues = None
        # Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position unavailable.
        setGeolocationOverrideParameters = None
        # Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position unavailable.
        setGeolocationOverrideReturnValues = None
        # Controls whether page will emit lifecycle events.
        setLifecycleEventsEnabledParameters = None
        # Controls whether page will emit lifecycle events.
        setLifecycleEventsEnabledReturnValues = None
        # Toggles mouse event-based touch event emulation.
        setTouchEmulationEnabledParameters = None
        # Toggles mouse event-based touch event emulation.
        setTouchEmulationEnabledReturnValues = None
        # Starts sending each frame using the `screencastFrame` event.
        startScreencastParameters = None
        # Starts sending each frame using the `screencastFrame` event.
        startScreencastReturnValues = None
        # Force the page stop all navigations and pending resource fetches.
        stopLoadingParameters = None
        # Force the page stop all navigations and pending resource fetches.
        stopLoadingReturnValues = None
        # Crashes renderer on the IO thread, generates minidumps.
        crashParameters = None
        # Crashes renderer on the IO thread, generates minidumps.
        crashReturnValues = None
        # Tries to close page, running its beforeunload hooks, if any.
        closeParameters = None
        # Tries to close page, running its beforeunload hooks, if any.
        closeReturnValues = None
        # Tries to update the web lifecycle state of the page. It will transition the page to the given state according to: https://github.com/WICG/web-lifecycle/
        setWebLifecycleStateParameters = None
        # Tries to update the web lifecycle state of the page. It will transition the page to the given state according to: https://github.com/WICG/web-lifecycle/
        setWebLifecycleStateReturnValues = None
        # Stops sending each frame in the `screencastFrame`.
        stopScreencastParameters = None
        # Stops sending each frame in the `screencastFrame`.
        stopScreencastReturnValues = None
        # Forces compilation cache to be generated for every subresource script.
        setProduceCompilationCacheParameters = None
        # Forces compilation cache to be generated for every subresource script.
        setProduceCompilationCacheReturnValues = None
        # Seeds compilation cache for given url. Compilation cache does not survive cross-process navigation.
        addCompilationCacheParameters = None
        # Seeds compilation cache for given url. Compilation cache does not survive cross-process navigation.
        addCompilationCacheReturnValues = None
        # Clears seeded compilation cache.
        clearCompilationCacheParameters = None
        # Clears seeded compilation cache.
        clearCompilationCacheReturnValues = None
        # Generates a report for testing.
        generateTestReportParameters = None
        # Generates a report for testing.
        generateTestReportReturnValues = None
        # Pauses page execution. Can be resumed using generic Runtime.runIfWaitingForDebugger.
        waitForDebuggerParameters = None
        # Pauses page execution. Can be resumed using generic Runtime.runIfWaitingForDebugger.
        waitForDebuggerReturnValues = None
        # Intercept file chooser requests and transfer control to protocol clients. When file chooser interception is enabled, native file chooser dialog is not shown. Instead, a protocol event `Page.fileChooserOpened` is emitted.
        setInterceptFileChooserDialogParameters = None
        # Intercept file chooser requests and transfer control to protocol clients. When file chooser interception is enabled, native file chooser dialog is not shown. Instead, a protocol event `Page.fileChooserOpened` is emitted.
        setInterceptFileChooserDialogReturnValues = None

    class Performance:
        # Run-time execution metric.
        Metric = Union[Metric]
        # Current values of the metrics.
        metricsPayload = Union[metricsPayload]
        # Disable collecting and reporting metrics.
        disableParameters = None
        # Disable collecting and reporting metrics.
        disableReturnValues = None
        # Enable collecting and reporting metrics.
        enableParameters = None
        # Enable collecting and reporting metrics.
        enableReturnValues = None
        # Sets time domain to use for collecting and reporting duration metrics. Note that this must be called before enabling metrics collection. Calling this method while metrics collection is enabled returns an error.
        setTimeDomainParameters = None
        # Sets time domain to use for collecting and reporting duration metrics. Note that this must be called before enabling metrics collection. Calling this method while metrics collection is enabled returns an error.
        setTimeDomainReturnValues = None
        # Retrieve current values of run-time metrics.
        getMetricsParameters = None
        # Retrieve current values of run-time metrics.
        getMetricsReturnValues = Union[getMetricsReturnValues]

    class Security:
        # Security
        # An internal certificate ID value.
        CertificateId = int
        # A description of mixed content (HTTP resources on HTTPS pages), as defined by https://www.w3.org/TR/mixed-content/#categories
        MixedContentType = Literal['blockable', 'optionally-blockable', 'none']
        # The security level of a page or resource.
        SecurityState = Literal['unknown', 'neutral', 'insecure', 'secure', 'info', 'insecure-broken']
        # Details about the security state of the page certificate.
        CertificateSecurityState = Union[CertificateSecurityState]
        SafetyTipStatus = Literal['badReputation', 'lookalike']
        SafetyTipInfo = Union[SafetyTipInfo]
        # Security state information about the page.
        VisibleSecurityState = Union[VisibleSecurityState]
        # An explanation of an factor contributing to the security state.
        SecurityStateExplanation = Union[SecurityStateExplanation]
        # Information about insecure content on the page.
        InsecureContentStatus = Union[InsecureContentStatus]
        # The action to take when a certificate error occurs. continue will continue processing the request and cancel will cancel the request.
        CertificateErrorAction = Literal['continue', 'cancel']
        # There is a certificate error. If overriding certificate errors is enabled, then it should be handled with the `handleCertificateError` command. Note: this event does not fire if the certificate error has been allowed internally. Only one client per target should override certificate errors at the same time.
        certificateErrorPayload = Union[certificateErrorPayload]
        # The security state of the page changed.
        visibleSecurityStateChangedPayload = Union[visibleSecurityStateChangedPayload]
        # The security state of the page changed.
        securityStateChangedPayload = Union[securityStateChangedPayload]
        # Disables tracking security state changes.
        disableParameters = None
        # Disables tracking security state changes.
        disableReturnValues = None
        # Enables tracking security state changes.
        enableParameters = None
        # Enables tracking security state changes.
        enableReturnValues = None
        # Enable/disable whether all certificate errors should be ignored.
        setIgnoreCertificateErrorsParameters = None
        # Enable/disable whether all certificate errors should be ignored.
        setIgnoreCertificateErrorsReturnValues = None
        # Handles a certificate error that fired a certificateError event.
        handleCertificateErrorParameters = None
        # Handles a certificate error that fired a certificateError event.
        handleCertificateErrorReturnValues = None
        # Enable/disable overriding certificate errors. If enabled, all certificate error events need to be handled by the DevTools client and should be answered with `handleCertificateError` commands.
        setOverrideCertificateErrorsParameters = None
        # Enable/disable overriding certificate errors. If enabled, all certificate error events need to be handled by the DevTools client and should be answered with `handleCertificateError` commands.
        setOverrideCertificateErrorsReturnValues = None

    class ServiceWorker:
        RegistrationID = str
        # ServiceWorker registration.
        ServiceWorkerRegistration = Union[ServiceWorkerRegistration]
        ServiceWorkerVersionRunningStatus = Literal['stopped', 'starting', 'running', 'stopping']
        ServiceWorkerVersionStatus = Literal['new', 'installing', 'installed', 'activating', 'activated', 'redundant']
        # ServiceWorker version.
        ServiceWorkerVersion = Union[ServiceWorkerVersion]
        # ServiceWorker error message.
        ServiceWorkerErrorMessage = Union[ServiceWorkerErrorMessage]
        workerErrorReportedPayload = Union[workerErrorReportedPayload]
        workerRegistrationUpdatedPayload = Union[workerRegistrationUpdatedPayload]
        workerVersionUpdatedPayload = Union[workerVersionUpdatedPayload]
        deliverPushMessageParameters = None
        deliverPushMessageReturnValues = None
        disableParameters = None
        disableReturnValues = None
        dispatchSyncEventParameters = None
        dispatchSyncEventReturnValues = None
        dispatchPeriodicSyncEventParameters = None
        dispatchPeriodicSyncEventReturnValues = None
        enableParameters = None
        enableReturnValues = None
        inspectWorkerParameters = None
        inspectWorkerReturnValues = None
        setForceUpdateOnPageLoadParameters = None
        setForceUpdateOnPageLoadReturnValues = None
        skipWaitingParameters = None
        skipWaitingReturnValues = None
        startWorkerParameters = None
        startWorkerReturnValues = None
        stopAllWorkersParameters = None
        stopAllWorkersReturnValues = None
        stopWorkerParameters = None
        stopWorkerReturnValues = None
        unregisterParameters = None
        unregisterReturnValues = None
        updateRegistrationParameters = None
        updateRegistrationReturnValues = None

    class Storage:
        # Enum of possible storage types.
        StorageType = Literal[
            'appcache',
            'cookies',
            'file_systems',
            'indexeddb',
            'local_storage',
            'shader_cache',
            'websql',
            'service_workers',
            'cache_storage',
            'all',
            'other',
        ]
        # Usage for a storage type.
        UsageForType = Union[UsageForType]
        # A cache's contents have been modified.
        cacheStorageContentUpdatedPayload = Union[cacheStorageContentUpdatedPayload]
        # A cache has been added/deleted.
        cacheStorageListUpdatedPayload = Union[cacheStorageListUpdatedPayload]
        # The origin's IndexedDB object store has been modified.
        indexedDBContentUpdatedPayload = Union[indexedDBContentUpdatedPayload]
        # The origin's IndexedDB database list has been modified.
        indexedDBListUpdatedPayload = Union[indexedDBListUpdatedPayload]
        # Clears storage for origin.
        clearDataForOriginParameters = None
        # Clears storage for origin.
        clearDataForOriginReturnValues = None
        # Returns all browser cookies.
        getCookiesParameters = None
        # Returns all browser cookies.
        getCookiesReturnValues = Union[getCookiesReturnValues]
        # Sets given cookies.
        setCookiesParameters = None
        # Sets given cookies.
        setCookiesReturnValues = None
        # Clears cookies.
        clearCookiesParameters = None
        # Clears cookies.
        clearCookiesReturnValues = None
        # Returns usage and quota in bytes.
        getUsageAndQuotaParameters = None
        # Returns usage and quota in bytes.
        getUsageAndQuotaReturnValues = Union[getUsageAndQuotaReturnValues]
        # Registers origin to be notified when an update occurs to its cache storage list.
        trackCacheStorageForOriginParameters = None
        # Registers origin to be notified when an update occurs to its cache storage list.
        trackCacheStorageForOriginReturnValues = None
        # Registers origin to be notified when an update occurs to its IndexedDB.
        trackIndexedDBForOriginParameters = None
        # Registers origin to be notified when an update occurs to its IndexedDB.
        trackIndexedDBForOriginReturnValues = None
        # Unregisters origin from receiving notifications for cache storage.
        untrackCacheStorageForOriginParameters = None
        # Unregisters origin from receiving notifications for cache storage.
        untrackCacheStorageForOriginReturnValues = None
        # Unregisters origin from receiving notifications for IndexedDB.
        untrackIndexedDBForOriginParameters = None
        # Unregisters origin from receiving notifications for IndexedDB.
        untrackIndexedDBForOriginReturnValues = None

    class SystemInfo:
        # The SystemInfo domain defines methods and events for querying low-level system information.
        # Describes a single graphics processor (GPU).
        GPUDevice = Union[GPUDevice]
        # Describes the width and height dimensions of an entity.
        Size = Union[Size]
        # Describes a supported video decoding profile with its associated minimum and maximum resolutions.
        VideoDecodeAcceleratorCapability = Union[VideoDecodeAcceleratorCapability]
        # Describes a supported video encoding profile with its associated maximum resolution and maximum framerate.
        VideoEncodeAcceleratorCapability = Union[VideoEncodeAcceleratorCapability]
        # YUV subsampling type of the pixels of a given image.
        SubsamplingFormat = Literal['yuv420', 'yuv422', 'yuv444']
        # Image format of a given image.
        ImageType = Literal['jpeg', 'webp', 'unknown']
        # Describes a supported image decoding profile with its associated minimum and maximum resolutions and subsampling.
        ImageDecodeAcceleratorCapability = Union[ImageDecodeAcceleratorCapability]
        # Provides information about the GPU(s) on the system.
        GPUInfo = Union[GPUInfo]
        # Represents process info.
        ProcessInfo = Union[ProcessInfo]
        # Returns information about the system.
        getInfoParameters = None
        # Returns information about the system.
        getInfoReturnValues = Union[getInfoReturnValues]
        # Returns information about all running processes.
        getProcessInfoParameters = None
        # Returns information about all running processes.
        getProcessInfoReturnValues = Union[getProcessInfoReturnValues]

    class Target:
        # Supports additional targets discovery and allows to attach to them.
        TargetID = str
        # Unique identifier of attached debugging session.
        SessionID = str
        TargetInfo = Union[TargetInfo]
        RemoteLocation = Union[RemoteLocation]
        # Issued when attached to target because of auto-attach or `attachToTarget` command.
        attachedToTargetPayload = Union[attachedToTargetPayload]
        # Issued when detached from target for any reason (including `detachFromTarget` command). Can be issued multiple times per target if multiple sessions have been attached to it.
        detachedFromTargetPayload = Union[detachedFromTargetPayload]
        # Notifies about a new protocol message received from the session (as reported in `attachedToTarget` event).
        receivedMessageFromTargetPayload = Union[receivedMessageFromTargetPayload]
        # Issued when a possible inspection target is created.
        targetCreatedPayload = Union[targetCreatedPayload]
        # Issued when a target is destroyed.
        targetDestroyedPayload = Union[targetDestroyedPayload]
        # Issued when a target has crashed.
        targetCrashedPayload = Union[targetCrashedPayload]
        # Issued when some information about a target has changed. This only happens between `targetCreated` and `targetDestroyed`.
        targetInfoChangedPayload = Union[targetInfoChangedPayload]
        # Activates (focuses) the target.
        activateTargetParameters = None
        # Activates (focuses) the target.
        activateTargetReturnValues = None
        # Attaches to the target with given id.
        attachToTargetParameters = None
        # Attaches to the target with given id.
        attachToTargetReturnValues = Union[attachToTargetReturnValues]
        # Attaches to the browser target, only uses flat sessionId mode.
        attachToBrowserTargetParameters = None
        # Attaches to the browser target, only uses flat sessionId mode.
        attachToBrowserTargetReturnValues = Union[attachToBrowserTargetReturnValues]
        # Closes the target. If the target is a page that gets closed too.
        closeTargetParameters = None
        # Closes the target. If the target is a page that gets closed too.
        closeTargetReturnValues = Union[closeTargetReturnValues]
        # Inject object to the target's main frame that provides a communication channel with browser target.  Injected object will be available as `window[bindingName]`.  The object has the follwing API: - `binding.send(json)` - a method to send messages over the remote debugging protocol - `binding.onmessage = json => handleMessage(json)` - a callback that will be called for the protocol notifications and command responses.
        exposeDevToolsProtocolParameters = None
        # Inject object to the target's main frame that provides a communication channel with browser target.  Injected object will be available as `window[bindingName]`.  The object has the follwing API: - `binding.send(json)` - a method to send messages over the remote debugging protocol - `binding.onmessage = json => handleMessage(json)` - a callback that will be called for the protocol notifications and command responses.
        exposeDevToolsProtocolReturnValues = None
        # Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than one.
        createBrowserContextParameters = None
        # Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than one.
        createBrowserContextReturnValues = Union[createBrowserContextReturnValues]
        # Returns all browser contexts created with `Target.createBrowserContext` method.
        getBrowserContextsParameters = None
        # Returns all browser contexts created with `Target.createBrowserContext` method.
        getBrowserContextsReturnValues = Union[getBrowserContextsReturnValues]
        # Creates a new page.
        createTargetParameters = None
        # Creates a new page.
        createTargetReturnValues = Union[createTargetReturnValues]
        # Detaches session with given id.
        detachFromTargetParameters = None
        # Detaches session with given id.
        detachFromTargetReturnValues = None
        # Deletes a BrowserContext. All the belonging pages will be closed without calling their beforeunload hooks.
        disposeBrowserContextParameters = None
        # Deletes a BrowserContext. All the belonging pages will be closed without calling their beforeunload hooks.
        disposeBrowserContextReturnValues = None
        # Returns information about a target.
        getTargetInfoParameters = None
        # Returns information about a target.
        getTargetInfoReturnValues = Union[getTargetInfoReturnValues]
        # Retrieves a list of available targets.
        getTargetsParameters = None
        # Retrieves a list of available targets.
        getTargetsReturnValues = Union[getTargetsReturnValues]
        # Sends protocol message over session with given id. Consider using flat mode instead; see commands attachToTarget, setAutoAttach, and crbug.com/991325.
        sendMessageToTargetParameters = None
        # Sends protocol message over session with given id. Consider using flat mode instead; see commands attachToTarget, setAutoAttach, and crbug.com/991325.
        sendMessageToTargetReturnValues = None
        # Controls whether to automatically attach to new targets which are considered to be related to this one. When turned on, attaches to all existing related targets as well. When turned off, automatically detaches from all currently attached targets.
        setAutoAttachParameters = None
        # Controls whether to automatically attach to new targets which are considered to be related to this one. When turned on, attaches to all existing related targets as well. When turned off, automatically detaches from all currently attached targets.
        setAutoAttachReturnValues = None
        # Controls whether to discover available targets and notify via `targetCreated/targetInfoChanged/targetDestroyed` events.
        setDiscoverTargetsParameters = None
        # Controls whether to discover available targets and notify via `targetCreated/targetInfoChanged/targetDestroyed` events.
        setDiscoverTargetsReturnValues = None
        # Enables target discovery for the specified locations, when `setDiscoverTargets` was set to `true`.
        setRemoteLocationsParameters = None
        # Enables target discovery for the specified locations, when `setDiscoverTargets` was set to `true`.
        setRemoteLocationsReturnValues = None

    class Tethering:
        # The Tethering domain defines methods and events for browser port binding.
        # Informs that port was successfully bound and got a specified connection id.
        acceptedPayload = Union[acceptedPayload]
        # Request browser port binding.
        bindParameters = None
        # Request browser port binding.
        bindReturnValues = None
        # Request browser port unbinding.
        unbindParameters = None
        # Request browser port unbinding.
        unbindReturnValues = None

    class Tracing:
        # Configuration for memory dump. Used only when "memory-infra" category is enabled.
        MemoryDumpConfig = Dict[str, str]
        TraceConfig = Union[TraceConfig]
        # Data format of a trace. Can be either the legacy JSON format or the protocol buffer format. Note that the JSON format will be deprecated soon.
        StreamFormat = Literal['json', 'proto']
        # Compression type to use for traces returned via streams.
        StreamCompression = Literal['none', 'gzip']
        bufferUsagePayload = Union[bufferUsagePayload]
        # Contains an bucket of collected trace events. When tracing is stopped collected events will be send as a sequence of dataCollected events followed by tracingComplete event.
        dataCollectedPayload = Union[dataCollectedPayload]
        # Signals that tracing is stopped and there is no trace buffers pending flush, all data were delivered via dataCollected events.
        tracingCompletePayload = Union[tracingCompletePayload]
        # Stop trace events collection.
        endParameters = None
        # Stop trace events collection.
        endReturnValues = None
        # Gets supported tracing categories.
        getCategoriesParameters = None
        # Gets supported tracing categories.
        getCategoriesReturnValues = Union[getCategoriesReturnValues]
        # Record a clock sync marker in the trace.
        recordClockSyncMarkerParameters = None
        # Record a clock sync marker in the trace.
        recordClockSyncMarkerReturnValues = None
        # Request a global memory dump.
        requestMemoryDumpParameters = None
        # Request a global memory dump.
        requestMemoryDumpReturnValues = Union[requestMemoryDumpReturnValues]
        # Start trace events collection.
        startParameters = None
        # Start trace events collection.
        startReturnValues = None

    class Fetch:
        # A domain for letting clients substitute browser's network layer with client code.
        # Unique request identifier.
        RequestId = str
        # Stages of the request to handle. Request will intercept before the request is sent. Response will intercept after the response is received (but before response body is received.
        RequestStage = Literal['Request', 'Response']
        RequestPattern = Union[RequestPattern]
        # Response HTTP header entry
        HeaderEntry = Union[HeaderEntry]
        # Authorization challenge for HTTP status code 401 or 407.
        AuthChallenge = Union[AuthChallenge]
        # Response to an AuthChallenge.
        AuthChallengeResponse = Union[AuthChallengeResponse]
        # Issued when the domain is enabled and the request URL matches the specified filter. The request is paused until the client responds with one of continueRequest, failRequest or fulfillRequest. The stage of the request can be determined by presence of responseErrorReason and responseStatusCode -- the request is at the response stage if either of these fields is present and in the request stage otherwise.
        requestPausedPayload = Union[requestPausedPayload]
        # Issued when the domain is enabled with handleAuthRequests set to true. The request is paused until client responds with continueWithAuth.
        authRequiredPayload = Union[authRequiredPayload]
        # Disables the fetch domain.
        disableParameters = None
        # Disables the fetch domain.
        disableReturnValues = None
        # Enables issuing of requestPaused events. A request will be paused until client calls one of failRequest, fulfillRequest or continueRequest/continueWithAuth.
        enableParameters = None
        # Enables issuing of requestPaused events. A request will be paused until client calls one of failRequest, fulfillRequest or continueRequest/continueWithAuth.
        enableReturnValues = None
        # Causes the request to fail with specified reason.
        failRequestParameters = None
        # Causes the request to fail with specified reason.
        failRequestReturnValues = None
        # Provides response to the request.
        fulfillRequestParameters = None
        # Provides response to the request.
        fulfillRequestReturnValues = None
        # Continues the request, optionally modifying some of its parameters.
        continueRequestParameters = None
        # Continues the request, optionally modifying some of its parameters.
        continueRequestReturnValues = None
        # Continues a request supplying authChallengeResponse following authRequired event.
        continueWithAuthParameters = None
        # Continues a request supplying authChallengeResponse following authRequired event.
        continueWithAuthReturnValues = None
        # Causes the body of the response to be received from the server and returned as a single string. May only be issued for a request that is paused in the Response stage and is mutually exclusive with takeResponseBodyForInterceptionAsStream. Calling other methods that affect the request or disabling fetch domain before body is received results in an undefined behavior.
        getResponseBodyParameters = None
        # Causes the body of the response to be received from the server and returned as a single string. May only be issued for a request that is paused in the Response stage and is mutually exclusive with takeResponseBodyForInterceptionAsStream. Calling other methods that affect the request or disabling fetch domain before body is received results in an undefined behavior.
        getResponseBodyReturnValues = Union[getResponseBodyReturnValues]
        # Returns a handle to the stream representing the response body. The request must be paused in the HeadersReceived stage. Note that after this command the request can't be continued as is -- client either needs to cancel it or to provide the response body. The stream only supports sequential read, IO.read will fail if the position is specified. This method is mutually exclusive with getResponseBody. Calling other methods that affect the request or disabling fetch domain before body is received results in an undefined behavior.
        takeResponseBodyAsStreamParameters = None
        # Returns a handle to the stream representing the response body. The request must be paused in the HeadersReceived stage. Note that after this command the request can't be continued as is -- client either needs to cancel it or to provide the response body. The stream only supports sequential read, IO.read will fail if the position is specified. This method is mutually exclusive with getResponseBody. Calling other methods that affect the request or disabling fetch domain before body is received results in an undefined behavior.
        takeResponseBodyAsStreamReturnValues = Union[takeResponseBodyAsStreamReturnValues]

    class WebAudio:
        # This domain allows inspection of Web Audio API. https://webaudio.github.io/web-audio-api/
        # An unique ID for a graph object (AudioContext, AudioNode, AudioParam) in Web Audio API
        GraphObjectId = str
        # Enum of BaseAudioContext types
        ContextType = Literal['realtime', 'offline']
        # Enum of AudioContextState from the spec
        ContextState = Literal['suspended', 'running', 'closed']
        # Enum of AudioNode types
        NodeType = str
        # Enum of AudioNode::ChannelCountMode from the spec
        ChannelCountMode = Literal['clamped-max', 'explicit', 'max']
        # Enum of AudioNode::ChannelInterpretation from the spec
        ChannelInterpretation = Literal['discrete', 'speakers']
        # Enum of AudioParam types
        ParamType = str
        # Enum of AudioParam::AutomationRate from the spec
        AutomationRate = Literal['a-rate', 'k-rate']
        # Fields in AudioContext that change in real-time.
        ContextRealtimeData = Union[ContextRealtimeData]
        # Protocol object for BaseAudioContext
        BaseAudioContext = Union[BaseAudioContext]
        # Protocol object for AudioListner
        AudioListener = Union[AudioListener]
        # Protocol object for AudioNode
        AudioNode = Union[AudioNode]
        # Protocol object for AudioParam
        AudioParam = Union[AudioParam]
        # Notifies that a new BaseAudioContext has been created.
        contextCreatedPayload = Union[contextCreatedPayload]
        # Notifies that an existing BaseAudioContext will be destroyed.
        contextWillBeDestroyedPayload = Union[contextWillBeDestroyedPayload]
        # Notifies that existing BaseAudioContext has changed some properties (id stays the same)..
        contextChangedPayload = Union[contextChangedPayload]
        # Notifies that the construction of an AudioListener has finished.
        audioListenerCreatedPayload = Union[audioListenerCreatedPayload]
        # Notifies that a new AudioListener has been created.
        audioListenerWillBeDestroyedPayload = Union[audioListenerWillBeDestroyedPayload]
        # Notifies that a new AudioNode has been created.
        audioNodeCreatedPayload = Union[audioNodeCreatedPayload]
        # Notifies that an existing AudioNode has been destroyed.
        audioNodeWillBeDestroyedPayload = Union[audioNodeWillBeDestroyedPayload]
        # Notifies that a new AudioParam has been created.
        audioParamCreatedPayload = Union[audioParamCreatedPayload]
        # Notifies that an existing AudioParam has been destroyed.
        audioParamWillBeDestroyedPayload = Union[audioParamWillBeDestroyedPayload]
        # Notifies that two AudioNodes are connected.
        nodesConnectedPayload = Union[nodesConnectedPayload]
        # Notifies that AudioNodes are disconnected. The destination can be null, and it means all the outgoing connections from the source are disconnected.
        nodesDisconnectedPayload = Union[nodesDisconnectedPayload]
        # Notifies that an AudioNode is connected to an AudioParam.
        nodeParamConnectedPayload = Union[nodeParamConnectedPayload]
        # Notifies that an AudioNode is disconnected to an AudioParam.
        nodeParamDisconnectedPayload = Union[nodeParamDisconnectedPayload]
        # Enables the WebAudio domain and starts sending context lifetime events.
        enableParameters = None
        # Enables the WebAudio domain and starts sending context lifetime events.
        enableReturnValues = None
        # Disables the WebAudio domain.
        disableParameters = None
        # Disables the WebAudio domain.
        disableReturnValues = None
        # Fetch the realtime data from the registered contexts.
        getRealtimeDataParameters = None
        # Fetch the realtime data from the registered contexts.
        getRealtimeDataReturnValues = Union[getRealtimeDataReturnValues]

    class WebAuthn:
        # This domain allows configuring virtual authenticators to test the WebAuthn API.
        AuthenticatorId = str
        AuthenticatorProtocol = Literal['u2f', 'ctap2']
        AuthenticatorTransport = Literal['usb', 'nfc', 'ble', 'cable', 'internal']
        VirtualAuthenticatorOptions = Union[VirtualAuthenticatorOptions]
        Credential = Union[Credential]
        # Enable the WebAuthn domain and start intercepting credential storage and retrieval with a virtual authenticator.
        enableParameters = None
        # Enable the WebAuthn domain and start intercepting credential storage and retrieval with a virtual authenticator.
        enableReturnValues = None
        # Disable the WebAuthn domain.
        disableParameters = None
        # Disable the WebAuthn domain.
        disableReturnValues = None
        # Creates and adds a virtual authenticator.
        addVirtualAuthenticatorParameters = None
        # Creates and adds a virtual authenticator.
        addVirtualAuthenticatorReturnValues = Union[addVirtualAuthenticatorReturnValues]
        # Removes the given authenticator.
        removeVirtualAuthenticatorParameters = None
        # Removes the given authenticator.
        removeVirtualAuthenticatorReturnValues = None
        # Adds the credential to the specified authenticator.
        addCredentialParameters = None
        # Adds the credential to the specified authenticator.
        addCredentialReturnValues = None
        # Returns a single credential stored in the given virtual authenticator that matches the credential ID.
        getCredentialParameters = None
        # Returns a single credential stored in the given virtual authenticator that matches the credential ID.
        getCredentialReturnValues = Union[getCredentialReturnValues]
        # Returns all the credentials stored in the given virtual authenticator.
        getCredentialsParameters = None
        # Returns all the credentials stored in the given virtual authenticator.
        getCredentialsReturnValues = Union[getCredentialsReturnValues]
        # Removes a credential from the authenticator.
        removeCredentialParameters = None
        # Removes a credential from the authenticator.
        removeCredentialReturnValues = None
        # Clears all the credentials from the specified device.
        clearCredentialsParameters = None
        # Clears all the credentials from the specified device.
        clearCredentialsReturnValues = None
        # Sets whether User Verification succeeds or fails for an authenticator. The default is true.
        setUserVerifiedParameters = None
        # Sets whether User Verification succeeds or fails for an authenticator. The default is true.
        setUserVerifiedReturnValues = None

    class Media:
        # This domain allows detailed inspection of media elements
        # Players will get an ID that is unique within the agent context.
        PlayerId = str
        Timestamp = float
        # Player Property type
        PlayerProperty = Union[PlayerProperty]
        # Break out events into different types
        PlayerEventType = Literal['playbackEvent', 'systemEvent', 'messageEvent']
        PlayerEvent = Union[PlayerEvent]
        # This can be called multiple times, and can be used to set / override / remove player properties. A null propValue indicates removal.
        playerPropertiesChangedPayload = Union[playerPropertiesChangedPayload]
        # Send events as a list, allowing them to be batched on the browser for less congestion. If batched, events must ALWAYS be in chronological order.
        playerEventsAddedPayload = Union[playerEventsAddedPayload]
        # Called whenever a player is created, or when a new agent joins and recieves a list of active players. If an agent is restored, it will recieve the full list of player ids and all events again.
        playersCreatedPayload = Union[playersCreatedPayload]
        # Enables the Media domain
        enableParameters = None
        # Enables the Media domain
        enableReturnValues = None
        # Disables the Media domain.
        disableParameters = None
        # Disables the Media domain.
        disableReturnValues = None

    class Console:
        # This domain is deprecated - use Runtime or Log instead.
        # Console message.
        ConsoleMessage = Union[ConsoleMessage]
        # Issued when new console message is added.
        messageAddedPayload = Union[messageAddedPayload]
        # Does nothing.
        clearMessagesParameters = None
        # Does nothing.
        clearMessagesReturnValues = None
        # Disables console domain, prevents further console messages from being reported to the client.
        disableParameters = None
        # Disables console domain, prevents further console messages from being reported to the client.
        disableReturnValues = None
        # Enables console domain, sends the messages collected so far to the client by means of the `messageAdded` notification.
        enableParameters = None
        # Enables console domain, sends the messages collected so far to the client by means of the `messageAdded` notification.
        enableReturnValues = None

    class Debugger:
        # Debugger domain exposes JavaScript debugging capabilities. It allows setting and removing breakpoints, stepping through execution, exploring stack traces, etc.
        # Breakpoint identifier.
        BreakpointId = str
        # Call frame identifier.
        CallFrameId = str
        # Location in the source code.
        Location = Union[Location]
        # Location in the source code.
        ScriptPosition = Union[ScriptPosition]
        # JavaScript call frame. Array of call frames form the call stack.
        CallFrame = Union[CallFrame]
        # Scope description.
        Scope = Union[Scope]
        # Search match for resource.
        SearchMatch = Union[SearchMatch]
        BreakLocation = Union[BreakLocation]
        # Fired when breakpoint is resolved to an actual script and location.
        breakpointResolvedPayload = Union[breakpointResolvedPayload]
        # Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria.
        pausedPayload = Union[pausedPayload]
        # Fired when the virtual machine resumed execution.
        resumedPayload = None
        # Fired when virtual machine fails to parse the script.
        scriptFailedToParsePayload = Union[scriptFailedToParsePayload]
        # Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger.
        scriptParsedPayload = Union[scriptParsedPayload]
        # Continues execution until specific location is reached.
        continueToLocationParameters = None
        # Continues execution until specific location is reached.
        continueToLocationReturnValues = None
        # Disables debugger for given page.
        disableParameters = None
        # Disables debugger for given page.
        disableReturnValues = None
        # Enables debugger for the given page. Clients should not assume that the debugging has been enabled until the result for this command is received.
        enableParameters = None
        # Enables debugger for the given page. Clients should not assume that the debugging has been enabled until the result for this command is received.
        enableReturnValues = Union[enableReturnValues]
        # Evaluates expression on a given call frame.
        evaluateOnCallFrameParameters = None
        # Evaluates expression on a given call frame.
        evaluateOnCallFrameReturnValues = Union[evaluateOnCallFrameReturnValues]
        # Returns possible locations for breakpoint. scriptId in start and end range locations should be the same.
        getPossibleBreakpointsParameters = None
        # Returns possible locations for breakpoint. scriptId in start and end range locations should be the same.
        getPossibleBreakpointsReturnValues = Union[getPossibleBreakpointsReturnValues]
        # Returns source for the script with given id.
        getScriptSourceParameters = None
        # Returns source for the script with given id.
        getScriptSourceReturnValues = Union[getScriptSourceReturnValues]
        # This command is deprecated. Use getScriptSource instead.
        getWasmBytecodeParameters = None
        # This command is deprecated. Use getScriptSource instead.
        getWasmBytecodeReturnValues = Union[getWasmBytecodeReturnValues]
        # Returns stack trace with given `stackTraceId`.
        getStackTraceParameters = None
        # Returns stack trace with given `stackTraceId`.
        getStackTraceReturnValues = Union[getStackTraceReturnValues]
        # Stops on the next JavaScript statement.
        pauseParameters = None
        # Stops on the next JavaScript statement.
        pauseReturnValues = None
        pauseOnAsyncCallParameters = None
        pauseOnAsyncCallReturnValues = None
        # Removes JavaScript breakpoint.
        removeBreakpointParameters = None
        # Removes JavaScript breakpoint.
        removeBreakpointReturnValues = None
        # Restarts particular call frame from the beginning.
        restartFrameParameters = None
        # Restarts particular call frame from the beginning.
        restartFrameReturnValues = Union[restartFrameReturnValues]
        # Resumes JavaScript execution.
        resumeParameters = None
        # Resumes JavaScript execution.
        resumeReturnValues = None
        # Searches for given string in script content.
        searchInContentParameters = None
        # Searches for given string in script content.
        searchInContentReturnValues = Union[searchInContentReturnValues]
        # Enables or disables async call stacks tracking.
        setAsyncCallStackDepthParameters = None
        # Enables or disables async call stacks tracking.
        setAsyncCallStackDepthReturnValues = None
        # Replace previous blackbox patterns with passed ones. Forces backend to skip stepping/pausing in scripts with url matching one of the patterns. VM will try to leave blackboxed script by performing 'step in' several times, finally resorting to 'step out' if unsuccessful.
        setBlackboxPatternsParameters = None
        # Replace previous blackbox patterns with passed ones. Forces backend to skip stepping/pausing in scripts with url matching one of the patterns. VM will try to leave blackboxed script by performing 'step in' several times, finally resorting to 'step out' if unsuccessful.
        setBlackboxPatternsReturnValues = None
        # Makes backend skip steps in the script in blackboxed ranges. VM will try leave blacklisted scripts by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. Positions array contains positions where blackbox state is changed. First interval isn't blackboxed. Array should be sorted.
        setBlackboxedRangesParameters = None
        # Makes backend skip steps in the script in blackboxed ranges. VM will try leave blacklisted scripts by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. Positions array contains positions where blackbox state is changed. First interval isn't blackboxed. Array should be sorted.
        setBlackboxedRangesReturnValues = None
        # Sets JavaScript breakpoint at a given location.
        setBreakpointParameters = None
        # Sets JavaScript breakpoint at a given location.
        setBreakpointReturnValues = Union[setBreakpointReturnValues]
        # Sets instrumentation breakpoint.
        setInstrumentationBreakpointParameters = None
        # Sets instrumentation breakpoint.
        setInstrumentationBreakpointReturnValues = Union[setInstrumentationBreakpointReturnValues]
        # Sets JavaScript breakpoint at given location specified either by URL or URL regex. Once this command is issued, all existing parsed scripts will have breakpoints resolved and returned in `locations` property. Further matching script parsing will result in subsequent `breakpointResolved` events issued. This logical breakpoint will survive page reloads.
        setBreakpointByUrlParameters = None
        # Sets JavaScript breakpoint at given location specified either by URL or URL regex. Once this command is issued, all existing parsed scripts will have breakpoints resolved and returned in `locations` property. Further matching script parsing will result in subsequent `breakpointResolved` events issued. This logical breakpoint will survive page reloads.
        setBreakpointByUrlReturnValues = Union[setBreakpointByUrlReturnValues]
        # Sets JavaScript breakpoint before each call to the given function. If another function was created from the same source as a given one, calling it will also trigger the breakpoint.
        setBreakpointOnFunctionCallParameters = None
        # Sets JavaScript breakpoint before each call to the given function. If another function was created from the same source as a given one, calling it will also trigger the breakpoint.
        setBreakpointOnFunctionCallReturnValues = Union[setBreakpointOnFunctionCallReturnValues]
        # Activates / deactivates all breakpoints on the page.
        setBreakpointsActiveParameters = None
        # Activates / deactivates all breakpoints on the page.
        setBreakpointsActiveReturnValues = None
        # Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or no exceptions. Initial pause on exceptions state is `none`.
        setPauseOnExceptionsParameters = None
        # Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or no exceptions. Initial pause on exceptions state is `none`.
        setPauseOnExceptionsReturnValues = None
        # Changes return value in top frame. Available only at return break position.
        setReturnValueParameters = None
        # Changes return value in top frame. Available only at return break position.
        setReturnValueReturnValues = None
        # Edits JavaScript source live.
        setScriptSourceParameters = None
        # Edits JavaScript source live.
        setScriptSourceReturnValues = Union[setScriptSourceReturnValues]
        # Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc).
        setSkipAllPausesParameters = None
        # Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc).
        setSkipAllPausesReturnValues = None
        # Changes value of variable in a callframe. Object-based scopes are not supported and must be mutated manually.
        setVariableValueParameters = None
        # Changes value of variable in a callframe. Object-based scopes are not supported and must be mutated manually.
        setVariableValueReturnValues = None
        # Steps into the function call.
        stepIntoParameters = None
        # Steps into the function call.
        stepIntoReturnValues = None
        # Steps out of the function call.
        stepOutParameters = None
        # Steps out of the function call.
        stepOutReturnValues = None
        # Steps over the statement.
        stepOverParameters = None
        # Steps over the statement.
        stepOverReturnValues = None

    class HeapProfiler:
        # Heap snapshot object id.
        HeapSnapshotObjectId = str
        # Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes.
        SamplingHeapProfileNode = Union[SamplingHeapProfileNode]
        # A single sample from a sampling profile.
        SamplingHeapProfileSample = Union[SamplingHeapProfileSample]
        # Sampling profile.
        SamplingHeapProfile = Union[SamplingHeapProfile]
        addHeapSnapshotChunkPayload = Union[addHeapSnapshotChunkPayload]
        # If heap objects tracking has been started then backend may send update for one or more fragments
        heapStatsUpdatePayload = Union[heapStatsUpdatePayload]
        # If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event.
        lastSeenObjectIdPayload = Union[lastSeenObjectIdPayload]
        reportHeapSnapshotProgressPayload = Union[reportHeapSnapshotProgressPayload]
        resetProfilesPayload = None
        # Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions).
        addInspectedHeapObjectParameters = None
        # Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions).
        addInspectedHeapObjectReturnValues = None
        collectGarbageParameters = None
        collectGarbageReturnValues = None
        disableParameters = None
        disableReturnValues = None
        enableParameters = None
        enableReturnValues = None
        getHeapObjectIdParameters = None
        getHeapObjectIdReturnValues = Union[getHeapObjectIdReturnValues]
        getObjectByHeapObjectIdParameters = None
        getObjectByHeapObjectIdReturnValues = Union[getObjectByHeapObjectIdReturnValues]
        getSamplingProfileParameters = None
        getSamplingProfileReturnValues = Union[getSamplingProfileReturnValues]
        startSamplingParameters = None
        startSamplingReturnValues = None
        startTrackingHeapObjectsParameters = None
        startTrackingHeapObjectsReturnValues = None
        stopSamplingParameters = None
        stopSamplingReturnValues = Union[stopSamplingReturnValues]
        stopTrackingHeapObjectsParameters = None
        stopTrackingHeapObjectsReturnValues = None
        takeHeapSnapshotParameters = None
        takeHeapSnapshotReturnValues = None

    class Profiler:
        # Profile node. Holds callsite information, execution statistics and child nodes.
        ProfileNode = Union[ProfileNode]
        # Profile.
        Profile = Union[Profile]
        # Specifies a number of samples attributed to a certain source position.
        PositionTickInfo = Union[PositionTickInfo]
        # Coverage data for a source range.
        CoverageRange = Union[CoverageRange]
        # Coverage data for a JavaScript function.
        FunctionCoverage = Union[FunctionCoverage]
        # Coverage data for a JavaScript script.
        ScriptCoverage = Union[ScriptCoverage]
        # Describes a type collected during runtime.
        TypeObject = Union[TypeObject]
        # Source offset and types for a parameter or return value.
        TypeProfileEntry = Union[TypeProfileEntry]
        # Type profile data collected during runtime for a JavaScript script.
        ScriptTypeProfile = Union[ScriptTypeProfile]
        # Collected counter information.
        CounterInfo = Union[CounterInfo]
        consoleProfileFinishedPayload = Union[consoleProfileFinishedPayload]
        # Sent when new profile recording is started using console.profile() call.
        consoleProfileStartedPayload = Union[consoleProfileStartedPayload]
        disableParameters = None
        disableReturnValues = None
        enableParameters = None
        enableReturnValues = None
        # Collect coverage data for the current isolate. The coverage data may be incomplete due to garbage collection.
        getBestEffortCoverageParameters = None
        # Collect coverage data for the current isolate. The coverage data may be incomplete due to garbage collection.
        getBestEffortCoverageReturnValues = Union[getBestEffortCoverageReturnValues]
        # Changes CPU profiler sampling interval. Must be called before CPU profiles recording started.
        setSamplingIntervalParameters = None
        # Changes CPU profiler sampling interval. Must be called before CPU profiles recording started.
        setSamplingIntervalReturnValues = None
        startParameters = None
        startReturnValues = None
        # Enable precise code coverage. Coverage data for JavaScript executed before enabling precise code coverage may be incomplete. Enabling prevents running optimized code and resets execution counters.
        startPreciseCoverageParameters = None
        # Enable precise code coverage. Coverage data for JavaScript executed before enabling precise code coverage may be incomplete. Enabling prevents running optimized code and resets execution counters.
        startPreciseCoverageReturnValues = None
        # Enable type profile.
        startTypeProfileParameters = None
        # Enable type profile.
        startTypeProfileReturnValues = None
        stopParameters = None
        stopReturnValues = Union[stopReturnValues]
        # Disable precise code coverage. Disabling releases unnecessary execution count records and allows executing optimized code.
        stopPreciseCoverageParameters = None
        # Disable precise code coverage. Disabling releases unnecessary execution count records and allows executing optimized code.
        stopPreciseCoverageReturnValues = None
        # Disable type profile. Disabling releases type profile data collected so far.
        stopTypeProfileParameters = None
        # Disable type profile. Disabling releases type profile data collected so far.
        stopTypeProfileReturnValues = None
        # Collect coverage data for the current isolate, and resets execution counters. Precise code coverage needs to have started.
        takePreciseCoverageParameters = None
        # Collect coverage data for the current isolate, and resets execution counters. Precise code coverage needs to have started.
        takePreciseCoverageReturnValues = Union[takePreciseCoverageReturnValues]
        # Collect type profile.
        takeTypeProfileParameters = None
        # Collect type profile.
        takeTypeProfileReturnValues = Union[takeTypeProfileReturnValues]
        # Enable run time call stats collection.
        enableRuntimeCallStatsParameters = None
        # Enable run time call stats collection.
        enableRuntimeCallStatsReturnValues = None
        # Disable run time call stats collection.
        disableRuntimeCallStatsParameters = None
        # Disable run time call stats collection.
        disableRuntimeCallStatsReturnValues = None
        # Retrieve run time call stats.
        getRuntimeCallStatsParameters = None
        # Retrieve run time call stats.
        getRuntimeCallStatsReturnValues = Union[getRuntimeCallStatsReturnValues]

    class Runtime:
        # Runtime domain exposes JavaScript runtime by means of remote evaluation and mirror objects. Evaluation results are returned as mirror object that expose object type, string representation and unique identifier that can be used for further object reference. Original objects are maintained in memory unless they are either explicitly released or are released along with the other objects in their object group.
        # Unique script identifier.
        ScriptId = str
        # Unique object identifier.
        RemoteObjectId = str
        # Primitive value which cannot be JSON-stringified. Includes values `-0`, `NaN`, `Infinity`, `-Infinity`, and bigint literals.
        UnserializableValue = str
        # Mirror object referencing original JavaScript object.
        RemoteObject = Union[RemoteObject]
        CustomPreview = Union[CustomPreview]
        # Object containing abbreviated remote object value.
        ObjectPreview = Union[ObjectPreview]
        PropertyPreview = Union[PropertyPreview]
        EntryPreview = Union[EntryPreview]
        # Object property descriptor.
        PropertyDescriptor = Union[PropertyDescriptor]
        # Object internal property descriptor. This property isn't normally visible in JavaScript code.
        InternalPropertyDescriptor = Union[InternalPropertyDescriptor]
        # Object private field descriptor.
        PrivatePropertyDescriptor = Union[PrivatePropertyDescriptor]
        # Represents function call argument. Either remote object id `objectId`, primitive `value`, unserializable primitive value or neither of (for undefined) them should be specified.
        CallArgument = Union[CallArgument]
        # Id of an execution context.
        ExecutionContextId = int
        # Description of an isolated world.
        ExecutionContextDescription = Union[ExecutionContextDescription]
        # Detailed information about exception (or error) that was thrown during script compilation or execution.
        ExceptionDetails = Union[ExceptionDetails]
        # Number of milliseconds since epoch.
        Timestamp = float
        # Number of milliseconds.
        TimeDelta = float
        # Stack entry for runtime errors and assertions.
        CallFrame = Union[CallFrame]
        # Call frames for assertions or error messages.
        StackTrace = Union[StackTrace]
        # Unique identifier of current debugger.
        UniqueDebuggerId = str
        # If `debuggerId` is set stack trace comes from another debugger and can be resolved there. This allows to track cross-debugger calls. See `Runtime.StackTrace` and `Debugger.paused` for usages.
        StackTraceId = Union[StackTraceId]
        # Notification is issued every time when binding is called.
        bindingCalledPayload = Union[bindingCalledPayload]
        # Issued when console API was called.
        consoleAPICalledPayload = Union[consoleAPICalledPayload]
        # Issued when unhandled exception was revoked.
        exceptionRevokedPayload = Union[exceptionRevokedPayload]
        # Issued when exception was thrown and unhandled.
        exceptionThrownPayload = Union[exceptionThrownPayload]
        # Issued when new execution context is created.
        executionContextCreatedPayload = Union[executionContextCreatedPayload]
        # Issued when execution context is destroyed.
        executionContextDestroyedPayload = Union[executionContextDestroyedPayload]
        # Issued when all executionContexts were cleared in browser
        executionContextsClearedPayload = None
        # Issued when object should be inspected (for example, as a result of inspect() command line API call).
        inspectRequestedPayload = Union[inspectRequestedPayload]
        # Add handler to promise with given promise object id.
        awaitPromiseParameters = None
        # Add handler to promise with given promise object id.
        awaitPromiseReturnValues = Union[awaitPromiseReturnValues]
        # Calls function with given declaration on the given object. Object group of the result is inherited from the target object.
        callFunctionOnParameters = None
        # Calls function with given declaration on the given object. Object group of the result is inherited from the target object.
        callFunctionOnReturnValues = Union[callFunctionOnReturnValues]
        # Compiles expression.
        compileScriptParameters = None
        # Compiles expression.
        compileScriptReturnValues = Union[compileScriptReturnValues]
        # Disables reporting of execution contexts creation.
        disableParameters = None
        # Disables reporting of execution contexts creation.
        disableReturnValues = None
        # Discards collected exceptions and console API calls.
        discardConsoleEntriesParameters = None
        # Discards collected exceptions and console API calls.
        discardConsoleEntriesReturnValues = None
        # Enables reporting of execution contexts creation by means of `executionContextCreated` event. When the reporting gets enabled the event will be sent immediately for each existing execution context.
        enableParameters = None
        # Enables reporting of execution contexts creation by means of `executionContextCreated` event. When the reporting gets enabled the event will be sent immediately for each existing execution context.
        enableReturnValues = None
        # Evaluates expression on global object.
        evaluateParameters = None
        # Evaluates expression on global object.
        evaluateReturnValues = Union[evaluateReturnValues]
        # Returns the isolate id.
        getIsolateIdParameters = None
        # Returns the isolate id.
        getIsolateIdReturnValues = Union[getIsolateIdReturnValues]
        # Returns the JavaScript heap usage. It is the total usage of the corresponding isolate not scoped to a particular Runtime.
        getHeapUsageParameters = None
        # Returns the JavaScript heap usage. It is the total usage of the corresponding isolate not scoped to a particular Runtime.
        getHeapUsageReturnValues = Union[getHeapUsageReturnValues]
        # Returns properties of a given object. Object group of the result is inherited from the target object.
        getPropertiesParameters = None
        # Returns properties of a given object. Object group of the result is inherited from the target object.
        getPropertiesReturnValues = Union[getPropertiesReturnValues]
        # Returns all let, const and class variables from global scope.
        globalLexicalScopeNamesParameters = None
        # Returns all let, const and class variables from global scope.
        globalLexicalScopeNamesReturnValues = Union[globalLexicalScopeNamesReturnValues]
        queryObjectsParameters = None
        queryObjectsReturnValues = Union[queryObjectsReturnValues]
        # Releases remote object with given id.
        releaseObjectParameters = None
        # Releases remote object with given id.
        releaseObjectReturnValues = None
        # Releases all remote objects that belong to a given group.
        releaseObjectGroupParameters = None
        # Releases all remote objects that belong to a given group.
        releaseObjectGroupReturnValues = None
        # Tells inspected instance to run if it was waiting for debugger to attach.
        runIfWaitingForDebuggerParameters = None
        # Tells inspected instance to run if it was waiting for debugger to attach.
        runIfWaitingForDebuggerReturnValues = None
        # Runs script with given id in a given context.
        runScriptParameters = None
        # Runs script with given id in a given context.
        runScriptReturnValues = Union[runScriptReturnValues]
        # Enables or disables async call stacks tracking.
        setAsyncCallStackDepthParameters = None
        # Enables or disables async call stacks tracking.
        setAsyncCallStackDepthReturnValues = None
        setCustomObjectFormatterEnabledParameters = None
        setCustomObjectFormatterEnabledReturnValues = None
        setMaxCallStackSizeToCaptureParameters = None
        setMaxCallStackSizeToCaptureReturnValues = None
        # Terminate current or next JavaScript execution. Will cancel the termination when the outer-most script execution ends.
        terminateExecutionParameters = None
        # Terminate current or next JavaScript execution. Will cancel the termination when the outer-most script execution ends.
        terminateExecutionReturnValues = None
        # If executionContextId is empty, adds binding with the given name on the global objects of all inspected contexts, including those created later, bindings survive reloads. If executionContextId is specified, adds binding only on global object of given execution context. Binding function takes exactly one argument, this argument should be string, in case of any other input, function throws an exception. Each binding function call produces Runtime.bindingCalled notification.
        addBindingParameters = None
        # If executionContextId is empty, adds binding with the given name on the global objects of all inspected contexts, including those created later, bindings survive reloads. If executionContextId is specified, adds binding only on global object of given execution context. Binding function takes exactly one argument, this argument should be string, in case of any other input, function throws an exception. Each binding function call produces Runtime.bindingCalled notification.
        addBindingReturnValues = None
        # This method does not remove binding function from global object but unsubscribes current runtime agent from Runtime.bindingCalled notifications.
        removeBindingParameters = None
        # This method does not remove binding function from global object but unsubscribes current runtime agent from Runtime.bindingCalled notifications.
        removeBindingReturnValues = None

    class Schema:
        # This domain is deprecated.
        # Description of the protocol domain.
        Domain = Union[Domain]
        # Returns supported domains.
        getDomainsParameters = None
        # Returns supported domains.
        getDomainsReturnValues = Union[getDomainsReturnValues]

    class CommandParameters:
        class Accessibility:
            disableReturnValues = None
            enableReturnValues = None
            getPartialAXTreeReturnValues = getPartialAXTreeReturnValues
            getFullAXTreeReturnValues = getFullAXTreeReturnValues

        class Animation:
            disableReturnValues = None
            enableReturnValues = None
            getCurrentTimeReturnValues = getCurrentTimeReturnValues
            getPlaybackRateReturnValues = getPlaybackRateReturnValues
            releaseAnimationsReturnValues = None
            resolveAnimationReturnValues = resolveAnimationReturnValues
            seekAnimationsReturnValues = None
            setPausedReturnValues = None
            setPlaybackRateReturnValues = None
            setTimingReturnValues = None

        class ApplicationCache:
            enableReturnValues = None
            getApplicationCacheForFrameReturnValues = getApplicationCacheForFrameReturnValues
            getFramesWithManifestsReturnValues = getFramesWithManifestsReturnValues
            getManifestForFrameReturnValues = getManifestForFrameReturnValues

        class Audits:
            getEncodedResponseReturnValues = getEncodedResponseReturnValues

        class BackgroundService:
            startObservingReturnValues = None
            stopObservingReturnValues = None
            setRecordingReturnValues = None
            clearEventsReturnValues = None

        class Browser:
            setPermissionReturnValues = None
            grantPermissionsReturnValues = None
            resetPermissionsReturnValues = None
            closeReturnValues = None
            crashReturnValues = None
            crashGpuProcessReturnValues = None
            getVersionReturnValues = getVersionReturnValues
            getBrowserCommandLineReturnValues = getBrowserCommandLineReturnValues
            getHistogramsReturnValues = getHistogramsReturnValues
            getHistogramReturnValues = getHistogramReturnValues
            getWindowBoundsReturnValues = getWindowBoundsReturnValues
            getWindowForTargetReturnValues = getWindowForTargetReturnValues
            setWindowBoundsReturnValues = None
            setDockTileReturnValues = None

        class CSS:
            addRuleReturnValues = addRuleReturnValues
            collectClassNamesReturnValues = collectClassNamesReturnValues
            createStyleSheetReturnValues = createStyleSheetReturnValues
            disableReturnValues = None
            enableReturnValues = None
            forcePseudoStateReturnValues = None
            getBackgroundColorsReturnValues = getBackgroundColorsReturnValues
            getComputedStyleForNodeReturnValues = getComputedStyleForNodeReturnValues
            getInlineStylesForNodeReturnValues = getInlineStylesForNodeReturnValues
            getMatchedStylesForNodeReturnValues = getMatchedStylesForNodeReturnValues
            getMediaQueriesReturnValues = getMediaQueriesReturnValues
            getPlatformFontsForNodeReturnValues = getPlatformFontsForNodeReturnValues
            getStyleSheetTextReturnValues = getStyleSheetTextReturnValues
            setEffectivePropertyValueForNodeReturnValues = None
            setKeyframeKeyReturnValues = setKeyframeKeyReturnValues
            setMediaTextReturnValues = setMediaTextReturnValues
            setRuleSelectorReturnValues = setRuleSelectorReturnValues
            setStyleSheetTextReturnValues = setStyleSheetTextReturnValues
            setStyleTextsReturnValues = setStyleTextsReturnValues
            startRuleUsageTrackingReturnValues = None
            stopRuleUsageTrackingReturnValues = stopRuleUsageTrackingReturnValues
            takeCoverageDeltaReturnValues = takeCoverageDeltaReturnValues

        class CacheStorage:
            deleteCacheReturnValues = None
            deleteEntryReturnValues = None
            requestCacheNamesReturnValues = requestCacheNamesReturnValues
            requestCachedResponseReturnValues = requestCachedResponseReturnValues
            requestEntriesReturnValues = requestEntriesReturnValues

        class Cast:
            enableReturnValues = None
            disableReturnValues = None
            setSinkToUseReturnValues = None
            startTabMirroringReturnValues = None
            stopCastingReturnValues = None

        class DOM:
            collectClassNamesFromSubtreeReturnValues = collectClassNamesFromSubtreeReturnValues
            copyToReturnValues = copyToReturnValues
            describeNodeReturnValues = describeNodeReturnValues
            disableReturnValues = None
            discardSearchResultsReturnValues = None
            enableReturnValues = None
            focusReturnValues = None
            getAttributesReturnValues = getAttributesReturnValues
            getBoxModelReturnValues = getBoxModelReturnValues
            getContentQuadsReturnValues = getContentQuadsReturnValues
            getDocumentReturnValues = getDocumentReturnValues
            getFlattenedDocumentReturnValues = getFlattenedDocumentReturnValues
            getNodeForLocationReturnValues = getNodeForLocationReturnValues
            getOuterHTMLReturnValues = getOuterHTMLReturnValues
            getRelayoutBoundaryReturnValues = getRelayoutBoundaryReturnValues
            getSearchResultsReturnValues = getSearchResultsReturnValues
            hideHighlightReturnValues = None
            highlightNodeReturnValues = None
            highlightRectReturnValues = None
            markUndoableStateReturnValues = None
            moveToReturnValues = moveToReturnValues
            performSearchReturnValues = performSearchReturnValues
            pushNodeByPathToFrontendReturnValues = pushNodeByPathToFrontendReturnValues
            pushNodesByBackendIdsToFrontendReturnValues = pushNodesByBackendIdsToFrontendReturnValues
            querySelectorReturnValues = querySelectorReturnValues
            querySelectorAllReturnValues = querySelectorAllReturnValues
            redoReturnValues = None
            removeAttributeReturnValues = None
            removeNodeReturnValues = None
            requestChildNodesReturnValues = None
            requestNodeReturnValues = requestNodeReturnValues
            resolveNodeReturnValues = resolveNodeReturnValues
            setAttributeValueReturnValues = None
            setAttributesAsTextReturnValues = None
            setFileInputFilesReturnValues = None
            setNodeStackTracesEnabledReturnValues = None
            getNodeStackTracesReturnValues = getNodeStackTracesReturnValues
            getFileInfoReturnValues = getFileInfoReturnValues
            setInspectedNodeReturnValues = None
            setNodeNameReturnValues = setNodeNameReturnValues
            setNodeValueReturnValues = None
            setOuterHTMLReturnValues = None
            undoReturnValues = None
            getFrameOwnerReturnValues = getFrameOwnerReturnValues

        class DOMDebugger:
            getEventListenersReturnValues = getEventListenersReturnValues
            removeDOMBreakpointReturnValues = None
            removeEventListenerBreakpointReturnValues = None
            removeInstrumentationBreakpointReturnValues = None
            removeXHRBreakpointReturnValues = None
            setDOMBreakpointReturnValues = None
            setEventListenerBreakpointReturnValues = None
            setInstrumentationBreakpointReturnValues = None
            setXHRBreakpointReturnValues = None

        class DOMSnapshot:
            disableReturnValues = None
            enableReturnValues = None
            getSnapshotReturnValues = getSnapshotReturnValues
            captureSnapshotReturnValues = captureSnapshotReturnValues

        class DOMStorage:
            clearReturnValues = None
            disableReturnValues = None
            enableReturnValues = None
            getDOMStorageItemsReturnValues = getDOMStorageItemsReturnValues
            removeDOMStorageItemReturnValues = None
            setDOMStorageItemReturnValues = None

        class Database:
            disableReturnValues = None
            enableReturnValues = None
            executeSQLReturnValues = executeSQLReturnValues
            getDatabaseTableNamesReturnValues = getDatabaseTableNamesReturnValues

        class DeviceOrientation:
            clearDeviceOrientationOverrideReturnValues = None
            setDeviceOrientationOverrideReturnValues = None

        class Emulation:
            canEmulateReturnValues = canEmulateReturnValues
            clearDeviceMetricsOverrideReturnValues = None
            clearGeolocationOverrideReturnValues = None
            resetPageScaleFactorReturnValues = None
            setFocusEmulationEnabledReturnValues = None
            setCPUThrottlingRateReturnValues = None
            setDefaultBackgroundColorOverrideReturnValues = None
            setDeviceMetricsOverrideReturnValues = None
            setScrollbarsHiddenReturnValues = None
            setDocumentCookieDisabledReturnValues = None
            setEmitTouchEventsForMouseReturnValues = None
            setEmulatedMediaReturnValues = None
            setGeolocationOverrideReturnValues = None
            setNavigatorOverridesReturnValues = None
            setPageScaleFactorReturnValues = None
            setScriptExecutionDisabledReturnValues = None
            setTouchEmulationEnabledReturnValues = None
            setVirtualTimePolicyReturnValues = setVirtualTimePolicyReturnValues
            setTimezoneOverrideReturnValues = None
            setVisibleSizeReturnValues = None
            setUserAgentOverrideReturnValues = None

        class HeadlessExperimental:
            beginFrameReturnValues = beginFrameReturnValues
            disableReturnValues = None
            enableReturnValues = None

        class IO:
            closeReturnValues = None
            readReturnValues = readReturnValues
            resolveBlobReturnValues = resolveBlobReturnValues

        class IndexedDB:
            clearObjectStoreReturnValues = None
            deleteDatabaseReturnValues = None
            deleteObjectStoreEntriesReturnValues = None
            disableReturnValues = None
            enableReturnValues = None
            requestDataReturnValues = requestDataReturnValues
            getMetadataReturnValues = getMetadataReturnValues
            requestDatabaseReturnValues = requestDatabaseReturnValues
            requestDatabaseNamesReturnValues = requestDatabaseNamesReturnValues

        class Input:
            dispatchKeyEventReturnValues = None
            insertTextReturnValues = None
            dispatchMouseEventReturnValues = None
            dispatchTouchEventReturnValues = None
            emulateTouchFromMouseEventReturnValues = None
            setIgnoreInputEventsReturnValues = None
            synthesizePinchGestureReturnValues = None
            synthesizeScrollGestureReturnValues = None
            synthesizeTapGestureReturnValues = None

        class Inspector:
            disableReturnValues = None
            enableReturnValues = None

        class LayerTree:
            compositingReasonsReturnValues = compositingReasonsReturnValues
            disableReturnValues = None
            enableReturnValues = None
            loadSnapshotReturnValues = loadSnapshotReturnValues
            makeSnapshotReturnValues = makeSnapshotReturnValues
            profileSnapshotReturnValues = profileSnapshotReturnValues
            releaseSnapshotReturnValues = None
            replaySnapshotReturnValues = replaySnapshotReturnValues
            snapshotCommandLogReturnValues = snapshotCommandLogReturnValues

        class Log:
            clearReturnValues = None
            disableReturnValues = None
            enableReturnValues = None
            startViolationsReportReturnValues = None
            stopViolationsReportReturnValues = None

        class Memory:
            getDOMCountersReturnValues = getDOMCountersReturnValues
            prepareForLeakDetectionReturnValues = None
            forciblyPurgeJavaScriptMemoryReturnValues = None
            setPressureNotificationsSuppressedReturnValues = None
            simulatePressureNotificationReturnValues = None
            startSamplingReturnValues = None
            stopSamplingReturnValues = None
            getAllTimeSamplingProfileReturnValues = getAllTimeSamplingProfileReturnValues
            getBrowserSamplingProfileReturnValues = getBrowserSamplingProfileReturnValues
            getSamplingProfileReturnValues = getSamplingProfileReturnValues

        class Network:
            canClearBrowserCacheReturnValues = canClearBrowserCacheReturnValues
            canClearBrowserCookiesReturnValues = canClearBrowserCookiesReturnValues
            canEmulateNetworkConditionsReturnValues = canEmulateNetworkConditionsReturnValues
            clearBrowserCacheReturnValues = None
            clearBrowserCookiesReturnValues = None
            continueInterceptedRequestReturnValues = None
            deleteCookiesReturnValues = None
            disableReturnValues = None
            emulateNetworkConditionsReturnValues = None
            enableReturnValues = None
            getAllCookiesReturnValues = getAllCookiesReturnValues
            getCertificateReturnValues = getCertificateReturnValues
            getCookiesReturnValues = getCookiesReturnValues
            getResponseBodyReturnValues = getResponseBodyReturnValues
            getRequestPostDataReturnValues = getRequestPostDataReturnValues
            getResponseBodyForInterceptionReturnValues = getResponseBodyForInterceptionReturnValues
            takeResponseBodyForInterceptionAsStreamReturnValues = takeResponseBodyForInterceptionAsStreamReturnValues
            replayXHRReturnValues = None
            searchInResponseBodyReturnValues = searchInResponseBodyReturnValues
            setBlockedURLsReturnValues = None
            setBypassServiceWorkerReturnValues = None
            setCacheDisabledReturnValues = None
            setCookieReturnValues = setCookieReturnValues
            setCookiesReturnValues = None
            setDataSizeLimitsForTestReturnValues = None
            setExtraHTTPHeadersReturnValues = None
            setRequestInterceptionReturnValues = None
            setUserAgentOverrideReturnValues = None

        class Overlay:
            disableReturnValues = None
            enableReturnValues = None
            getHighlightObjectForTestReturnValues = getHighlightObjectForTestReturnValues
            hideHighlightReturnValues = None
            highlightFrameReturnValues = None
            highlightNodeReturnValues = None
            highlightQuadReturnValues = None
            highlightRectReturnValues = None
            setInspectModeReturnValues = None
            setShowAdHighlightsReturnValues = None
            setPausedInDebuggerMessageReturnValues = None
            setShowDebugBordersReturnValues = None
            setShowFPSCounterReturnValues = None
            setShowPaintRectsReturnValues = None
            setShowLayoutShiftRegionsReturnValues = None
            setShowScrollBottleneckRectsReturnValues = None
            setShowHitTestBordersReturnValues = None
            setShowViewportSizeOnResizeReturnValues = None

        class Page:
            addScriptToEvaluateOnLoadReturnValues = addScriptToEvaluateOnLoadReturnValues
            addScriptToEvaluateOnNewDocumentReturnValues = addScriptToEvaluateOnNewDocumentReturnValues
            bringToFrontReturnValues = None
            captureScreenshotReturnValues = captureScreenshotReturnValues
            captureSnapshotReturnValues = captureSnapshotReturnValues
            clearDeviceMetricsOverrideReturnValues = None
            clearDeviceOrientationOverrideReturnValues = None
            clearGeolocationOverrideReturnValues = None
            createIsolatedWorldReturnValues = createIsolatedWorldReturnValues
            deleteCookieReturnValues = None
            disableReturnValues = None
            enableReturnValues = None
            getAppManifestReturnValues = getAppManifestReturnValues
            getInstallabilityErrorsReturnValues = getInstallabilityErrorsReturnValues
            getCookiesReturnValues = getCookiesReturnValues
            getFrameTreeReturnValues = getFrameTreeReturnValues
            getLayoutMetricsReturnValues = getLayoutMetricsReturnValues
            getNavigationHistoryReturnValues = getNavigationHistoryReturnValues
            resetNavigationHistoryReturnValues = None
            getResourceContentReturnValues = getResourceContentReturnValues
            getResourceTreeReturnValues = getResourceTreeReturnValues
            handleJavaScriptDialogReturnValues = None
            navigateReturnValues = navigateReturnValues
            navigateToHistoryEntryReturnValues = None
            printToPDFReturnValues = printToPDFReturnValues
            reloadReturnValues = None
            removeScriptToEvaluateOnLoadReturnValues = None
            removeScriptToEvaluateOnNewDocumentReturnValues = None
            screencastFrameAckReturnValues = None
            searchInResourceReturnValues = searchInResourceReturnValues
            setAdBlockingEnabledReturnValues = None
            setBypassCSPReturnValues = None
            setDeviceMetricsOverrideReturnValues = None
            setDeviceOrientationOverrideReturnValues = None
            setFontFamiliesReturnValues = None
            setFontSizesReturnValues = None
            setDocumentContentReturnValues = None
            setDownloadBehaviorReturnValues = None
            setGeolocationOverrideReturnValues = None
            setLifecycleEventsEnabledReturnValues = None
            setTouchEmulationEnabledReturnValues = None
            startScreencastReturnValues = None
            stopLoadingReturnValues = None
            crashReturnValues = None
            closeReturnValues = None
            setWebLifecycleStateReturnValues = None
            stopScreencastReturnValues = None
            setProduceCompilationCacheReturnValues = None
            addCompilationCacheReturnValues = None
            clearCompilationCacheReturnValues = None
            generateTestReportReturnValues = None
            waitForDebuggerReturnValues = None
            setInterceptFileChooserDialogReturnValues = None

        class Performance:
            disableReturnValues = None
            enableReturnValues = None
            setTimeDomainReturnValues = None
            getMetricsReturnValues = getMetricsReturnValues

        class Security:
            disableReturnValues = None
            enableReturnValues = None
            setIgnoreCertificateErrorsReturnValues = None
            handleCertificateErrorReturnValues = None
            setOverrideCertificateErrorsReturnValues = None

        class ServiceWorker:
            deliverPushMessageReturnValues = None
            disableReturnValues = None
            dispatchSyncEventReturnValues = None
            dispatchPeriodicSyncEventReturnValues = None
            enableReturnValues = None
            inspectWorkerReturnValues = None
            setForceUpdateOnPageLoadReturnValues = None
            skipWaitingReturnValues = None
            startWorkerReturnValues = None
            stopAllWorkersReturnValues = None
            stopWorkerReturnValues = None
            unregisterReturnValues = None
            updateRegistrationReturnValues = None

        class Storage:
            clearDataForOriginReturnValues = None
            getCookiesReturnValues = getCookiesReturnValues
            setCookiesReturnValues = None
            clearCookiesReturnValues = None
            getUsageAndQuotaReturnValues = getUsageAndQuotaReturnValues
            trackCacheStorageForOriginReturnValues = None
            trackIndexedDBForOriginReturnValues = None
            untrackCacheStorageForOriginReturnValues = None
            untrackIndexedDBForOriginReturnValues = None

        class SystemInfo:
            getInfoReturnValues = getInfoReturnValues
            getProcessInfoReturnValues = getProcessInfoReturnValues

        class Target:
            activateTargetReturnValues = None
            attachToTargetReturnValues = attachToTargetReturnValues
            attachToBrowserTargetReturnValues = attachToBrowserTargetReturnValues
            closeTargetReturnValues = closeTargetReturnValues
            exposeDevToolsProtocolReturnValues = None
            createBrowserContextReturnValues = createBrowserContextReturnValues
            getBrowserContextsReturnValues = getBrowserContextsReturnValues
            createTargetReturnValues = createTargetReturnValues
            detachFromTargetReturnValues = None
            disposeBrowserContextReturnValues = None
            getTargetInfoReturnValues = getTargetInfoReturnValues
            getTargetsReturnValues = getTargetsReturnValues
            sendMessageToTargetReturnValues = None
            setAutoAttachReturnValues = None
            setDiscoverTargetsReturnValues = None
            setRemoteLocationsReturnValues = None

        class Tethering:
            bindReturnValues = None
            unbindReturnValues = None

        class Tracing:
            endReturnValues = None
            getCategoriesReturnValues = getCategoriesReturnValues
            recordClockSyncMarkerReturnValues = None
            requestMemoryDumpReturnValues = requestMemoryDumpReturnValues
            startReturnValues = None

        class Fetch:
            disableReturnValues = None
            enableReturnValues = None
            failRequestReturnValues = None
            fulfillRequestReturnValues = None
            continueRequestReturnValues = None
            continueWithAuthReturnValues = None
            getResponseBodyReturnValues = getResponseBodyReturnValues
            takeResponseBodyAsStreamReturnValues = takeResponseBodyAsStreamReturnValues

        class WebAudio:
            enableReturnValues = None
            disableReturnValues = None
            getRealtimeDataReturnValues = getRealtimeDataReturnValues

        class WebAuthn:
            enableReturnValues = None
            disableReturnValues = None
            addVirtualAuthenticatorReturnValues = addVirtualAuthenticatorReturnValues
            removeVirtualAuthenticatorReturnValues = None
            addCredentialReturnValues = None
            getCredentialReturnValues = getCredentialReturnValues
            getCredentialsReturnValues = getCredentialsReturnValues
            removeCredentialReturnValues = None
            clearCredentialsReturnValues = None
            setUserVerifiedReturnValues = None

        class Media:
            enableReturnValues = None
            disableReturnValues = None

        class Console:
            clearMessagesReturnValues = None
            disableReturnValues = None
            enableReturnValues = None

        class Debugger:
            continueToLocationReturnValues = None
            disableReturnValues = None
            enableReturnValues = enableReturnValues
            evaluateOnCallFrameReturnValues = evaluateOnCallFrameReturnValues
            getPossibleBreakpointsReturnValues = getPossibleBreakpointsReturnValues
            getScriptSourceReturnValues = getScriptSourceReturnValues
            getWasmBytecodeReturnValues = getWasmBytecodeReturnValues
            getStackTraceReturnValues = getStackTraceReturnValues
            pauseReturnValues = None
            pauseOnAsyncCallReturnValues = None
            removeBreakpointReturnValues = None
            restartFrameReturnValues = restartFrameReturnValues
            resumeReturnValues = None
            searchInContentReturnValues = searchInContentReturnValues
            setAsyncCallStackDepthReturnValues = None
            setBlackboxPatternsReturnValues = None
            setBlackboxedRangesReturnValues = None
            setBreakpointReturnValues = setBreakpointReturnValues
            setInstrumentationBreakpointReturnValues = setInstrumentationBreakpointReturnValues
            setBreakpointByUrlReturnValues = setBreakpointByUrlReturnValues
            setBreakpointOnFunctionCallReturnValues = setBreakpointOnFunctionCallReturnValues
            setBreakpointsActiveReturnValues = None
            setPauseOnExceptionsReturnValues = None
            setReturnValueReturnValues = None
            setScriptSourceReturnValues = setScriptSourceReturnValues
            setSkipAllPausesReturnValues = None
            setVariableValueReturnValues = None
            stepIntoReturnValues = None
            stepOutReturnValues = None
            stepOverReturnValues = None

        class HeapProfiler:
            addInspectedHeapObjectReturnValues = None
            collectGarbageReturnValues = None
            disableReturnValues = None
            enableReturnValues = None
            getHeapObjectIdReturnValues = getHeapObjectIdReturnValues
            getObjectByHeapObjectIdReturnValues = getObjectByHeapObjectIdReturnValues
            getSamplingProfileReturnValues = getSamplingProfileReturnValues
            startSamplingReturnValues = None
            startTrackingHeapObjectsReturnValues = None
            stopSamplingReturnValues = stopSamplingReturnValues
            stopTrackingHeapObjectsReturnValues = None
            takeHeapSnapshotReturnValues = None

        class Profiler:
            disableReturnValues = None
            enableReturnValues = None
            getBestEffortCoverageReturnValues = getBestEffortCoverageReturnValues
            setSamplingIntervalReturnValues = None
            startReturnValues = None
            startPreciseCoverageReturnValues = None
            startTypeProfileReturnValues = None
            stopReturnValues = stopReturnValues
            stopPreciseCoverageReturnValues = None
            stopTypeProfileReturnValues = None
            takePreciseCoverageReturnValues = takePreciseCoverageReturnValues
            takeTypeProfileReturnValues = takeTypeProfileReturnValues
            enableRuntimeCallStatsReturnValues = None
            disableRuntimeCallStatsReturnValues = None
            getRuntimeCallStatsReturnValues = getRuntimeCallStatsReturnValues

        class Runtime:
            awaitPromiseReturnValues = awaitPromiseReturnValues
            callFunctionOnReturnValues = callFunctionOnReturnValues
            compileScriptReturnValues = compileScriptReturnValues
            disableReturnValues = None
            discardConsoleEntriesReturnValues = None
            enableReturnValues = None
            evaluateReturnValues = evaluateReturnValues
            getIsolateIdReturnValues = getIsolateIdReturnValues
            getHeapUsageReturnValues = getHeapUsageReturnValues
            getPropertiesReturnValues = getPropertiesReturnValues
            globalLexicalScopeNamesReturnValues = globalLexicalScopeNamesReturnValues
            queryObjectsReturnValues = queryObjectsReturnValues
            releaseObjectReturnValues = None
            releaseObjectGroupReturnValues = None
            runIfWaitingForDebuggerReturnValues = None
            runScriptReturnValues = runScriptReturnValues
            setAsyncCallStackDepthReturnValues = None
            setCustomObjectFormatterEnabledReturnValues = None
            setMaxCallStackSizeToCaptureReturnValues = None
            terminateExecutionReturnValues = None
            addBindingReturnValues = None
            removeBindingReturnValues = None

        class Schema:
            getDomainsReturnValues = getDomainsReturnValues

    class CommandReturnValues:
        class Accessibility:
            disableReturnValues = None
            enableReturnValues = None
            getPartialAXTreeReturnValues = getPartialAXTreeReturnValues
            getFullAXTreeReturnValues = getFullAXTreeReturnValues

        class Animation:
            disableReturnValues = None
            enableReturnValues = None
            getCurrentTimeReturnValues = getCurrentTimeReturnValues
            getPlaybackRateReturnValues = getPlaybackRateReturnValues
            releaseAnimationsReturnValues = None
            resolveAnimationReturnValues = resolveAnimationReturnValues
            seekAnimationsReturnValues = None
            setPausedReturnValues = None
            setPlaybackRateReturnValues = None
            setTimingReturnValues = None

        class ApplicationCache:
            enableReturnValues = None
            getApplicationCacheForFrameReturnValues = getApplicationCacheForFrameReturnValues
            getFramesWithManifestsReturnValues = getFramesWithManifestsReturnValues
            getManifestForFrameReturnValues = getManifestForFrameReturnValues

        class Audits:
            getEncodedResponseReturnValues = getEncodedResponseReturnValues

        class BackgroundService:
            startObservingReturnValues = None
            stopObservingReturnValues = None
            setRecordingReturnValues = None
            clearEventsReturnValues = None

        class Browser:
            setPermissionReturnValues = None
            grantPermissionsReturnValues = None
            resetPermissionsReturnValues = None
            closeReturnValues = None
            crashReturnValues = None
            crashGpuProcessReturnValues = None
            getVersionReturnValues = getVersionReturnValues
            getBrowserCommandLineReturnValues = getBrowserCommandLineReturnValues
            getHistogramsReturnValues = getHistogramsReturnValues
            getHistogramReturnValues = getHistogramReturnValues
            getWindowBoundsReturnValues = getWindowBoundsReturnValues
            getWindowForTargetReturnValues = getWindowForTargetReturnValues
            setWindowBoundsReturnValues = None
            setDockTileReturnValues = None

        class CSS:
            addRuleReturnValues = addRuleReturnValues
            collectClassNamesReturnValues = collectClassNamesReturnValues
            createStyleSheetReturnValues = createStyleSheetReturnValues
            disableReturnValues = None
            enableReturnValues = None
            forcePseudoStateReturnValues = None
            getBackgroundColorsReturnValues = getBackgroundColorsReturnValues
            getComputedStyleForNodeReturnValues = getComputedStyleForNodeReturnValues
            getInlineStylesForNodeReturnValues = getInlineStylesForNodeReturnValues
            getMatchedStylesForNodeReturnValues = getMatchedStylesForNodeReturnValues
            getMediaQueriesReturnValues = getMediaQueriesReturnValues
            getPlatformFontsForNodeReturnValues = getPlatformFontsForNodeReturnValues
            getStyleSheetTextReturnValues = getStyleSheetTextReturnValues
            setEffectivePropertyValueForNodeReturnValues = None
            setKeyframeKeyReturnValues = setKeyframeKeyReturnValues
            setMediaTextReturnValues = setMediaTextReturnValues
            setRuleSelectorReturnValues = setRuleSelectorReturnValues
            setStyleSheetTextReturnValues = setStyleSheetTextReturnValues
            setStyleTextsReturnValues = setStyleTextsReturnValues
            startRuleUsageTrackingReturnValues = None
            stopRuleUsageTrackingReturnValues = stopRuleUsageTrackingReturnValues
            takeCoverageDeltaReturnValues = takeCoverageDeltaReturnValues

        class CacheStorage:
            deleteCacheReturnValues = None
            deleteEntryReturnValues = None
            requestCacheNamesReturnValues = requestCacheNamesReturnValues
            requestCachedResponseReturnValues = requestCachedResponseReturnValues
            requestEntriesReturnValues = requestEntriesReturnValues

        class Cast:
            enableReturnValues = None
            disableReturnValues = None
            setSinkToUseReturnValues = None
            startTabMirroringReturnValues = None
            stopCastingReturnValues = None

        class DOM:
            collectClassNamesFromSubtreeReturnValues = collectClassNamesFromSubtreeReturnValues
            copyToReturnValues = copyToReturnValues
            describeNodeReturnValues = describeNodeReturnValues
            disableReturnValues = None
            discardSearchResultsReturnValues = None
            enableReturnValues = None
            focusReturnValues = None
            getAttributesReturnValues = getAttributesReturnValues
            getBoxModelReturnValues = getBoxModelReturnValues
            getContentQuadsReturnValues = getContentQuadsReturnValues
            getDocumentReturnValues = getDocumentReturnValues
            getFlattenedDocumentReturnValues = getFlattenedDocumentReturnValues
            getNodeForLocationReturnValues = getNodeForLocationReturnValues
            getOuterHTMLReturnValues = getOuterHTMLReturnValues
            getRelayoutBoundaryReturnValues = getRelayoutBoundaryReturnValues
            getSearchResultsReturnValues = getSearchResultsReturnValues
            hideHighlightReturnValues = None
            highlightNodeReturnValues = None
            highlightRectReturnValues = None
            markUndoableStateReturnValues = None
            moveToReturnValues = moveToReturnValues
            performSearchReturnValues = performSearchReturnValues
            pushNodeByPathToFrontendReturnValues = pushNodeByPathToFrontendReturnValues
            pushNodesByBackendIdsToFrontendReturnValues = pushNodesByBackendIdsToFrontendReturnValues
            querySelectorReturnValues = querySelectorReturnValues
            querySelectorAllReturnValues = querySelectorAllReturnValues
            redoReturnValues = None
            removeAttributeReturnValues = None
            removeNodeReturnValues = None
            requestChildNodesReturnValues = None
            requestNodeReturnValues = requestNodeReturnValues
            resolveNodeReturnValues = resolveNodeReturnValues
            setAttributeValueReturnValues = None
            setAttributesAsTextReturnValues = None
            setFileInputFilesReturnValues = None
            setNodeStackTracesEnabledReturnValues = None
            getNodeStackTracesReturnValues = getNodeStackTracesReturnValues
            getFileInfoReturnValues = getFileInfoReturnValues
            setInspectedNodeReturnValues = None
            setNodeNameReturnValues = setNodeNameReturnValues
            setNodeValueReturnValues = None
            setOuterHTMLReturnValues = None
            undoReturnValues = None
            getFrameOwnerReturnValues = getFrameOwnerReturnValues

        class DOMDebugger:
            getEventListenersReturnValues = getEventListenersReturnValues
            removeDOMBreakpointReturnValues = None
            removeEventListenerBreakpointReturnValues = None
            removeInstrumentationBreakpointReturnValues = None
            removeXHRBreakpointReturnValues = None
            setDOMBreakpointReturnValues = None
            setEventListenerBreakpointReturnValues = None
            setInstrumentationBreakpointReturnValues = None
            setXHRBreakpointReturnValues = None

        class DOMSnapshot:
            disableReturnValues = None
            enableReturnValues = None
            getSnapshotReturnValues = getSnapshotReturnValues
            captureSnapshotReturnValues = captureSnapshotReturnValues

        class DOMStorage:
            clearReturnValues = None
            disableReturnValues = None
            enableReturnValues = None
            getDOMStorageItemsReturnValues = getDOMStorageItemsReturnValues
            removeDOMStorageItemReturnValues = None
            setDOMStorageItemReturnValues = None

        class Database:
            disableReturnValues = None
            enableReturnValues = None
            executeSQLReturnValues = executeSQLReturnValues
            getDatabaseTableNamesReturnValues = getDatabaseTableNamesReturnValues

        class DeviceOrientation:
            clearDeviceOrientationOverrideReturnValues = None
            setDeviceOrientationOverrideReturnValues = None

        class Emulation:
            canEmulateReturnValues = canEmulateReturnValues
            clearDeviceMetricsOverrideReturnValues = None
            clearGeolocationOverrideReturnValues = None
            resetPageScaleFactorReturnValues = None
            setFocusEmulationEnabledReturnValues = None
            setCPUThrottlingRateReturnValues = None
            setDefaultBackgroundColorOverrideReturnValues = None
            setDeviceMetricsOverrideReturnValues = None
            setScrollbarsHiddenReturnValues = None
            setDocumentCookieDisabledReturnValues = None
            setEmitTouchEventsForMouseReturnValues = None
            setEmulatedMediaReturnValues = None
            setGeolocationOverrideReturnValues = None
            setNavigatorOverridesReturnValues = None
            setPageScaleFactorReturnValues = None
            setScriptExecutionDisabledReturnValues = None
            setTouchEmulationEnabledReturnValues = None
            setVirtualTimePolicyReturnValues = setVirtualTimePolicyReturnValues
            setTimezoneOverrideReturnValues = None
            setVisibleSizeReturnValues = None
            setUserAgentOverrideReturnValues = None

        class HeadlessExperimental:
            beginFrameReturnValues = beginFrameReturnValues
            disableReturnValues = None
            enableReturnValues = None

        class IO:
            closeReturnValues = None
            readReturnValues = readReturnValues
            resolveBlobReturnValues = resolveBlobReturnValues

        class IndexedDB:
            clearObjectStoreReturnValues = None
            deleteDatabaseReturnValues = None
            deleteObjectStoreEntriesReturnValues = None
            disableReturnValues = None
            enableReturnValues = None
            requestDataReturnValues = requestDataReturnValues
            getMetadataReturnValues = getMetadataReturnValues
            requestDatabaseReturnValues = requestDatabaseReturnValues
            requestDatabaseNamesReturnValues = requestDatabaseNamesReturnValues

        class Input:
            dispatchKeyEventReturnValues = None
            insertTextReturnValues = None
            dispatchMouseEventReturnValues = None
            dispatchTouchEventReturnValues = None
            emulateTouchFromMouseEventReturnValues = None
            setIgnoreInputEventsReturnValues = None
            synthesizePinchGestureReturnValues = None
            synthesizeScrollGestureReturnValues = None
            synthesizeTapGestureReturnValues = None

        class Inspector:
            disableReturnValues = None
            enableReturnValues = None

        class LayerTree:
            compositingReasonsReturnValues = compositingReasonsReturnValues
            disableReturnValues = None
            enableReturnValues = None
            loadSnapshotReturnValues = loadSnapshotReturnValues
            makeSnapshotReturnValues = makeSnapshotReturnValues
            profileSnapshotReturnValues = profileSnapshotReturnValues
            releaseSnapshotReturnValues = None
            replaySnapshotReturnValues = replaySnapshotReturnValues
            snapshotCommandLogReturnValues = snapshotCommandLogReturnValues

        class Log:
            clearReturnValues = None
            disableReturnValues = None
            enableReturnValues = None
            startViolationsReportReturnValues = None
            stopViolationsReportReturnValues = None

        class Memory:
            getDOMCountersReturnValues = getDOMCountersReturnValues
            prepareForLeakDetectionReturnValues = None
            forciblyPurgeJavaScriptMemoryReturnValues = None
            setPressureNotificationsSuppressedReturnValues = None
            simulatePressureNotificationReturnValues = None
            startSamplingReturnValues = None
            stopSamplingReturnValues = None
            getAllTimeSamplingProfileReturnValues = getAllTimeSamplingProfileReturnValues
            getBrowserSamplingProfileReturnValues = getBrowserSamplingProfileReturnValues
            getSamplingProfileReturnValues = getSamplingProfileReturnValues

        class Network:
            canClearBrowserCacheReturnValues = canClearBrowserCacheReturnValues
            canClearBrowserCookiesReturnValues = canClearBrowserCookiesReturnValues
            canEmulateNetworkConditionsReturnValues = canEmulateNetworkConditionsReturnValues
            clearBrowserCacheReturnValues = None
            clearBrowserCookiesReturnValues = None
            continueInterceptedRequestReturnValues = None
            deleteCookiesReturnValues = None
            disableReturnValues = None
            emulateNetworkConditionsReturnValues = None
            enableReturnValues = None
            getAllCookiesReturnValues = getAllCookiesReturnValues
            getCertificateReturnValues = getCertificateReturnValues
            getCookiesReturnValues = getCookiesReturnValues
            getResponseBodyReturnValues = getResponseBodyReturnValues
            getRequestPostDataReturnValues = getRequestPostDataReturnValues
            getResponseBodyForInterceptionReturnValues = getResponseBodyForInterceptionReturnValues
            takeResponseBodyForInterceptionAsStreamReturnValues = takeResponseBodyForInterceptionAsStreamReturnValues
            replayXHRReturnValues = None
            searchInResponseBodyReturnValues = searchInResponseBodyReturnValues
            setBlockedURLsReturnValues = None
            setBypassServiceWorkerReturnValues = None
            setCacheDisabledReturnValues = None
            setCookieReturnValues = setCookieReturnValues
            setCookiesReturnValues = None
            setDataSizeLimitsForTestReturnValues = None
            setExtraHTTPHeadersReturnValues = None
            setRequestInterceptionReturnValues = None
            setUserAgentOverrideReturnValues = None

        class Overlay:
            disableReturnValues = None
            enableReturnValues = None
            getHighlightObjectForTestReturnValues = getHighlightObjectForTestReturnValues
            hideHighlightReturnValues = None
            highlightFrameReturnValues = None
            highlightNodeReturnValues = None
            highlightQuadReturnValues = None
            highlightRectReturnValues = None
            setInspectModeReturnValues = None
            setShowAdHighlightsReturnValues = None
            setPausedInDebuggerMessageReturnValues = None
            setShowDebugBordersReturnValues = None
            setShowFPSCounterReturnValues = None
            setShowPaintRectsReturnValues = None
            setShowLayoutShiftRegionsReturnValues = None
            setShowScrollBottleneckRectsReturnValues = None
            setShowHitTestBordersReturnValues = None
            setShowViewportSizeOnResizeReturnValues = None

        class Page:
            addScriptToEvaluateOnLoadReturnValues = addScriptToEvaluateOnLoadReturnValues
            addScriptToEvaluateOnNewDocumentReturnValues = addScriptToEvaluateOnNewDocumentReturnValues
            bringToFrontReturnValues = None
            captureScreenshotReturnValues = captureScreenshotReturnValues
            captureSnapshotReturnValues = captureSnapshotReturnValues
            clearDeviceMetricsOverrideReturnValues = None
            clearDeviceOrientationOverrideReturnValues = None
            clearGeolocationOverrideReturnValues = None
            createIsolatedWorldReturnValues = createIsolatedWorldReturnValues
            deleteCookieReturnValues = None
            disableReturnValues = None
            enableReturnValues = None
            getAppManifestReturnValues = getAppManifestReturnValues
            getInstallabilityErrorsReturnValues = getInstallabilityErrorsReturnValues
            getCookiesReturnValues = getCookiesReturnValues
            getFrameTreeReturnValues = getFrameTreeReturnValues
            getLayoutMetricsReturnValues = getLayoutMetricsReturnValues
            getNavigationHistoryReturnValues = getNavigationHistoryReturnValues
            resetNavigationHistoryReturnValues = None
            getResourceContentReturnValues = getResourceContentReturnValues
            getResourceTreeReturnValues = getResourceTreeReturnValues
            handleJavaScriptDialogReturnValues = None
            navigateReturnValues = navigateReturnValues
            navigateToHistoryEntryReturnValues = None
            printToPDFReturnValues = printToPDFReturnValues
            reloadReturnValues = None
            removeScriptToEvaluateOnLoadReturnValues = None
            removeScriptToEvaluateOnNewDocumentReturnValues = None
            screencastFrameAckReturnValues = None
            searchInResourceReturnValues = searchInResourceReturnValues
            setAdBlockingEnabledReturnValues = None
            setBypassCSPReturnValues = None
            setDeviceMetricsOverrideReturnValues = None
            setDeviceOrientationOverrideReturnValues = None
            setFontFamiliesReturnValues = None
            setFontSizesReturnValues = None
            setDocumentContentReturnValues = None
            setDownloadBehaviorReturnValues = None
            setGeolocationOverrideReturnValues = None
            setLifecycleEventsEnabledReturnValues = None
            setTouchEmulationEnabledReturnValues = None
            startScreencastReturnValues = None
            stopLoadingReturnValues = None
            crashReturnValues = None
            closeReturnValues = None
            setWebLifecycleStateReturnValues = None
            stopScreencastReturnValues = None
            setProduceCompilationCacheReturnValues = None
            addCompilationCacheReturnValues = None
            clearCompilationCacheReturnValues = None
            generateTestReportReturnValues = None
            waitForDebuggerReturnValues = None
            setInterceptFileChooserDialogReturnValues = None

        class Performance:
            disableReturnValues = None
            enableReturnValues = None
            setTimeDomainReturnValues = None
            getMetricsReturnValues = getMetricsReturnValues

        class Security:
            disableReturnValues = None
            enableReturnValues = None
            setIgnoreCertificateErrorsReturnValues = None
            handleCertificateErrorReturnValues = None
            setOverrideCertificateErrorsReturnValues = None

        class ServiceWorker:
            deliverPushMessageReturnValues = None
            disableReturnValues = None
            dispatchSyncEventReturnValues = None
            dispatchPeriodicSyncEventReturnValues = None
            enableReturnValues = None
            inspectWorkerReturnValues = None
            setForceUpdateOnPageLoadReturnValues = None
            skipWaitingReturnValues = None
            startWorkerReturnValues = None
            stopAllWorkersReturnValues = None
            stopWorkerReturnValues = None
            unregisterReturnValues = None
            updateRegistrationReturnValues = None

        class Storage:
            clearDataForOriginReturnValues = None
            getCookiesReturnValues = getCookiesReturnValues
            setCookiesReturnValues = None
            clearCookiesReturnValues = None
            getUsageAndQuotaReturnValues = getUsageAndQuotaReturnValues
            trackCacheStorageForOriginReturnValues = None
            trackIndexedDBForOriginReturnValues = None
            untrackCacheStorageForOriginReturnValues = None
            untrackIndexedDBForOriginReturnValues = None

        class SystemInfo:
            getInfoReturnValues = getInfoReturnValues
            getProcessInfoReturnValues = getProcessInfoReturnValues

        class Target:
            activateTargetReturnValues = None
            attachToTargetReturnValues = attachToTargetReturnValues
            attachToBrowserTargetReturnValues = attachToBrowserTargetReturnValues
            closeTargetReturnValues = closeTargetReturnValues
            exposeDevToolsProtocolReturnValues = None
            createBrowserContextReturnValues = createBrowserContextReturnValues
            getBrowserContextsReturnValues = getBrowserContextsReturnValues
            createTargetReturnValues = createTargetReturnValues
            detachFromTargetReturnValues = None
            disposeBrowserContextReturnValues = None
            getTargetInfoReturnValues = getTargetInfoReturnValues
            getTargetsReturnValues = getTargetsReturnValues
            sendMessageToTargetReturnValues = None
            setAutoAttachReturnValues = None
            setDiscoverTargetsReturnValues = None
            setRemoteLocationsReturnValues = None

        class Tethering:
            bindReturnValues = None
            unbindReturnValues = None

        class Tracing:
            endReturnValues = None
            getCategoriesReturnValues = getCategoriesReturnValues
            recordClockSyncMarkerReturnValues = None
            requestMemoryDumpReturnValues = requestMemoryDumpReturnValues
            startReturnValues = None

        class Fetch:
            disableReturnValues = None
            enableReturnValues = None
            failRequestReturnValues = None
            fulfillRequestReturnValues = None
            continueRequestReturnValues = None
            continueWithAuthReturnValues = None
            getResponseBodyReturnValues = getResponseBodyReturnValues
            takeResponseBodyAsStreamReturnValues = takeResponseBodyAsStreamReturnValues

        class WebAudio:
            enableReturnValues = None
            disableReturnValues = None
            getRealtimeDataReturnValues = getRealtimeDataReturnValues

        class WebAuthn:
            enableReturnValues = None
            disableReturnValues = None
            addVirtualAuthenticatorReturnValues = addVirtualAuthenticatorReturnValues
            removeVirtualAuthenticatorReturnValues = None
            addCredentialReturnValues = None
            getCredentialReturnValues = getCredentialReturnValues
            getCredentialsReturnValues = getCredentialsReturnValues
            removeCredentialReturnValues = None
            clearCredentialsReturnValues = None
            setUserVerifiedReturnValues = None

        class Media:
            enableReturnValues = None
            disableReturnValues = None

        class Console:
            clearMessagesReturnValues = None
            disableReturnValues = None
            enableReturnValues = None

        class Debugger:
            continueToLocationReturnValues = None
            disableReturnValues = None
            enableReturnValues = enableReturnValues
            evaluateOnCallFrameReturnValues = evaluateOnCallFrameReturnValues
            getPossibleBreakpointsReturnValues = getPossibleBreakpointsReturnValues
            getScriptSourceReturnValues = getScriptSourceReturnValues
            getWasmBytecodeReturnValues = getWasmBytecodeReturnValues
            getStackTraceReturnValues = getStackTraceReturnValues
            pauseReturnValues = None
            pauseOnAsyncCallReturnValues = None
            removeBreakpointReturnValues = None
            restartFrameReturnValues = restartFrameReturnValues
            resumeReturnValues = None
            searchInContentReturnValues = searchInContentReturnValues
            setAsyncCallStackDepthReturnValues = None
            setBlackboxPatternsReturnValues = None
            setBlackboxedRangesReturnValues = None
            setBreakpointReturnValues = setBreakpointReturnValues
            setInstrumentationBreakpointReturnValues = setInstrumentationBreakpointReturnValues
            setBreakpointByUrlReturnValues = setBreakpointByUrlReturnValues
            setBreakpointOnFunctionCallReturnValues = setBreakpointOnFunctionCallReturnValues
            setBreakpointsActiveReturnValues = None
            setPauseOnExceptionsReturnValues = None
            setReturnValueReturnValues = None
            setScriptSourceReturnValues = setScriptSourceReturnValues
            setSkipAllPausesReturnValues = None
            setVariableValueReturnValues = None
            stepIntoReturnValues = None
            stepOutReturnValues = None
            stepOverReturnValues = None

        class HeapProfiler:
            addInspectedHeapObjectReturnValues = None
            collectGarbageReturnValues = None
            disableReturnValues = None
            enableReturnValues = None
            getHeapObjectIdReturnValues = getHeapObjectIdReturnValues
            getObjectByHeapObjectIdReturnValues = getObjectByHeapObjectIdReturnValues
            getSamplingProfileReturnValues = getSamplingProfileReturnValues
            startSamplingReturnValues = None
            startTrackingHeapObjectsReturnValues = None
            stopSamplingReturnValues = stopSamplingReturnValues
            stopTrackingHeapObjectsReturnValues = None
            takeHeapSnapshotReturnValues = None

        class Profiler:
            disableReturnValues = None
            enableReturnValues = None
            getBestEffortCoverageReturnValues = getBestEffortCoverageReturnValues
            setSamplingIntervalReturnValues = None
            startReturnValues = None
            startPreciseCoverageReturnValues = None
            startTypeProfileReturnValues = None
            stopReturnValues = stopReturnValues
            stopPreciseCoverageReturnValues = None
            stopTypeProfileReturnValues = None
            takePreciseCoverageReturnValues = takePreciseCoverageReturnValues
            takeTypeProfileReturnValues = takeTypeProfileReturnValues
            enableRuntimeCallStatsReturnValues = None
            disableRuntimeCallStatsReturnValues = None
            getRuntimeCallStatsReturnValues = getRuntimeCallStatsReturnValues

        class Runtime:
            awaitPromiseReturnValues = awaitPromiseReturnValues
            callFunctionOnReturnValues = callFunctionOnReturnValues
            compileScriptReturnValues = compileScriptReturnValues
            disableReturnValues = None
            discardConsoleEntriesReturnValues = None
            enableReturnValues = None
            evaluateReturnValues = evaluateReturnValues
            getIsolateIdReturnValues = getIsolateIdReturnValues
            getHeapUsageReturnValues = getHeapUsageReturnValues
            getPropertiesReturnValues = getPropertiesReturnValues
            globalLexicalScopeNamesReturnValues = globalLexicalScopeNamesReturnValues
            queryObjectsReturnValues = queryObjectsReturnValues
            releaseObjectReturnValues = None
            releaseObjectGroupReturnValues = None
            runIfWaitingForDebuggerReturnValues = None
            runScriptReturnValues = runScriptReturnValues
            setAsyncCallStackDepthReturnValues = None
            setCustomObjectFormatterEnabledReturnValues = None
            setMaxCallStackSizeToCaptureReturnValues = None
            terminateExecutionReturnValues = None
            addBindingReturnValues = None
            removeBindingReturnValues = None

        class Schema:
            getDomainsReturnValues = getDomainsReturnValues


class Events:
    class Animation:
        animationCanceledPayload = 'Animation.animationCanceledPayload'
        animationCreatedPayload = 'Animation.animationCreatedPayload'
        animationStartedPayload = 'Animation.animationStartedPayload'

    class ApplicationCache:
        applicationCacheStatusUpdatedPayload = 'ApplicationCache.applicationCacheStatusUpdatedPayload'
        networkStateUpdatedPayload = 'ApplicationCache.networkStateUpdatedPayload'

    class BackgroundService:
        recordingStateChangedPayload = 'BackgroundService.recordingStateChangedPayload'
        backgroundServiceEventReceivedPayload = 'BackgroundService.backgroundServiceEventReceivedPayload'

    class CSS:
        fontsUpdatedPayload = 'CSS.fontsUpdatedPayload'
        mediaQueryResultChangedPayload = 'CSS.mediaQueryResultChangedPayload'
        styleSheetAddedPayload = 'CSS.styleSheetAddedPayload'
        styleSheetChangedPayload = 'CSS.styleSheetChangedPayload'
        styleSheetRemovedPayload = 'CSS.styleSheetRemovedPayload'

    class Cast:
        sinksUpdatedPayload = 'Cast.sinksUpdatedPayload'
        issueUpdatedPayload = 'Cast.issueUpdatedPayload'

    class DOM:
        attributeModifiedPayload = 'DOM.attributeModifiedPayload'
        attributeRemovedPayload = 'DOM.attributeRemovedPayload'
        characterDataModifiedPayload = 'DOM.characterDataModifiedPayload'
        childNodeCountUpdatedPayload = 'DOM.childNodeCountUpdatedPayload'
        childNodeInsertedPayload = 'DOM.childNodeInsertedPayload'
        childNodeRemovedPayload = 'DOM.childNodeRemovedPayload'
        distributedNodesUpdatedPayload = 'DOM.distributedNodesUpdatedPayload'
        documentUpdatedPayload = 'DOM.documentUpdatedPayload'
        inlineStyleInvalidatedPayload = 'DOM.inlineStyleInvalidatedPayload'
        pseudoElementAddedPayload = 'DOM.pseudoElementAddedPayload'
        pseudoElementRemovedPayload = 'DOM.pseudoElementRemovedPayload'
        setChildNodesPayload = 'DOM.setChildNodesPayload'
        shadowRootPoppedPayload = 'DOM.shadowRootPoppedPayload'
        shadowRootPushedPayload = 'DOM.shadowRootPushedPayload'

    class DOMStorage:
        domStorageItemAddedPayload = 'DOMStorage.domStorageItemAddedPayload'
        domStorageItemRemovedPayload = 'DOMStorage.domStorageItemRemovedPayload'
        domStorageItemUpdatedPayload = 'DOMStorage.domStorageItemUpdatedPayload'
        domStorageItemsClearedPayload = 'DOMStorage.domStorageItemsClearedPayload'

    class Database:
        addDatabasePayload = 'Database.addDatabasePayload'

    class Emulation:
        virtualTimeBudgetExpiredPayload = 'Emulation.virtualTimeBudgetExpiredPayload'

    class HeadlessExperimental:
        needsBeginFramesChangedPayload = 'HeadlessExperimental.needsBeginFramesChangedPayload'

    class Inspector:
        detachedPayload = 'Inspector.detachedPayload'
        targetCrashedPayload = 'Inspector.targetCrashedPayload'
        targetReloadedAfterCrashPayload = 'Inspector.targetReloadedAfterCrashPayload'

    class LayerTree:
        layerPaintedPayload = 'LayerTree.layerPaintedPayload'
        layerTreeDidChangePayload = 'LayerTree.layerTreeDidChangePayload'

    class Log:
        entryAddedPayload = 'Log.entryAddedPayload'

    class Network:
        dataReceivedPayload = 'Network.dataReceivedPayload'
        eventSourceMessageReceivedPayload = 'Network.eventSourceMessageReceivedPayload'
        loadingFailedPayload = 'Network.loadingFailedPayload'
        loadingFinishedPayload = 'Network.loadingFinishedPayload'
        requestInterceptedPayload = 'Network.requestInterceptedPayload'
        requestServedFromCachePayload = 'Network.requestServedFromCachePayload'
        requestWillBeSentPayload = 'Network.requestWillBeSentPayload'
        resourceChangedPriorityPayload = 'Network.resourceChangedPriorityPayload'
        signedExchangeReceivedPayload = 'Network.signedExchangeReceivedPayload'
        responseReceivedPayload = 'Network.responseReceivedPayload'
        webSocketClosedPayload = 'Network.webSocketClosedPayload'
        webSocketCreatedPayload = 'Network.webSocketCreatedPayload'
        webSocketFrameErrorPayload = 'Network.webSocketFrameErrorPayload'
        webSocketFrameReceivedPayload = 'Network.webSocketFrameReceivedPayload'
        webSocketFrameSentPayload = 'Network.webSocketFrameSentPayload'
        webSocketHandshakeResponseReceivedPayload = 'Network.webSocketHandshakeResponseReceivedPayload'
        webSocketWillSendHandshakeRequestPayload = 'Network.webSocketWillSendHandshakeRequestPayload'
        requestWillBeSentExtraInfoPayload = 'Network.requestWillBeSentExtraInfoPayload'
        responseReceivedExtraInfoPayload = 'Network.responseReceivedExtraInfoPayload'

    class Overlay:
        inspectNodeRequestedPayload = 'Overlay.inspectNodeRequestedPayload'
        nodeHighlightRequestedPayload = 'Overlay.nodeHighlightRequestedPayload'
        screenshotRequestedPayload = 'Overlay.screenshotRequestedPayload'
        inspectModeCanceledPayload = 'Overlay.inspectModeCanceledPayload'

    class Page:
        domContentEventFiredPayload = 'Page.domContentEventFiredPayload'
        fileChooserOpenedPayload = 'Page.fileChooserOpenedPayload'
        frameAttachedPayload = 'Page.frameAttachedPayload'
        frameClearedScheduledNavigationPayload = 'Page.frameClearedScheduledNavigationPayload'
        frameDetachedPayload = 'Page.frameDetachedPayload'
        frameNavigatedPayload = 'Page.frameNavigatedPayload'
        frameResizedPayload = 'Page.frameResizedPayload'
        frameRequestedNavigationPayload = 'Page.frameRequestedNavigationPayload'
        frameScheduledNavigationPayload = 'Page.frameScheduledNavigationPayload'
        frameStartedLoadingPayload = 'Page.frameStartedLoadingPayload'
        frameStoppedLoadingPayload = 'Page.frameStoppedLoadingPayload'
        downloadWillBeginPayload = 'Page.downloadWillBeginPayload'
        interstitialHiddenPayload = 'Page.interstitialHiddenPayload'
        interstitialShownPayload = 'Page.interstitialShownPayload'
        javascriptDialogClosedPayload = 'Page.javascriptDialogClosedPayload'
        javascriptDialogOpeningPayload = 'Page.javascriptDialogOpeningPayload'
        lifecycleEventPayload = 'Page.lifecycleEventPayload'
        loadEventFiredPayload = 'Page.loadEventFiredPayload'
        navigatedWithinDocumentPayload = 'Page.navigatedWithinDocumentPayload'
        screencastFramePayload = 'Page.screencastFramePayload'
        screencastVisibilityChangedPayload = 'Page.screencastVisibilityChangedPayload'
        windowOpenPayload = 'Page.windowOpenPayload'
        compilationCacheProducedPayload = 'Page.compilationCacheProducedPayload'

    class Performance:
        metricsPayload = 'Performance.metricsPayload'

    class Security:
        certificateErrorPayload = 'Security.certificateErrorPayload'
        visibleSecurityStateChangedPayload = 'Security.visibleSecurityStateChangedPayload'
        securityStateChangedPayload = 'Security.securityStateChangedPayload'

    class ServiceWorker:
        workerErrorReportedPayload = 'ServiceWorker.workerErrorReportedPayload'
        workerRegistrationUpdatedPayload = 'ServiceWorker.workerRegistrationUpdatedPayload'
        workerVersionUpdatedPayload = 'ServiceWorker.workerVersionUpdatedPayload'

    class Storage:
        cacheStorageContentUpdatedPayload = 'Storage.cacheStorageContentUpdatedPayload'
        cacheStorageListUpdatedPayload = 'Storage.cacheStorageListUpdatedPayload'
        indexedDBContentUpdatedPayload = 'Storage.indexedDBContentUpdatedPayload'
        indexedDBListUpdatedPayload = 'Storage.indexedDBListUpdatedPayload'

    class Target:
        attachedToTargetPayload = 'Target.attachedToTargetPayload'
        detachedFromTargetPayload = 'Target.detachedFromTargetPayload'
        receivedMessageFromTargetPayload = 'Target.receivedMessageFromTargetPayload'
        targetCreatedPayload = 'Target.targetCreatedPayload'
        targetDestroyedPayload = 'Target.targetDestroyedPayload'
        targetCrashedPayload = 'Target.targetCrashedPayload'
        targetInfoChangedPayload = 'Target.targetInfoChangedPayload'

    class Tethering:
        acceptedPayload = 'Tethering.acceptedPayload'

    class Tracing:
        bufferUsagePayload = 'Tracing.bufferUsagePayload'
        dataCollectedPayload = 'Tracing.dataCollectedPayload'
        tracingCompletePayload = 'Tracing.tracingCompletePayload'

    class Fetch:
        requestPausedPayload = 'Fetch.requestPausedPayload'
        authRequiredPayload = 'Fetch.authRequiredPayload'

    class WebAudio:
        contextCreatedPayload = 'WebAudio.contextCreatedPayload'
        contextWillBeDestroyedPayload = 'WebAudio.contextWillBeDestroyedPayload'
        contextChangedPayload = 'WebAudio.contextChangedPayload'
        audioListenerCreatedPayload = 'WebAudio.audioListenerCreatedPayload'
        audioListenerWillBeDestroyedPayload = 'WebAudio.audioListenerWillBeDestroyedPayload'
        audioNodeCreatedPayload = 'WebAudio.audioNodeCreatedPayload'
        audioNodeWillBeDestroyedPayload = 'WebAudio.audioNodeWillBeDestroyedPayload'
        audioParamCreatedPayload = 'WebAudio.audioParamCreatedPayload'
        audioParamWillBeDestroyedPayload = 'WebAudio.audioParamWillBeDestroyedPayload'
        nodesConnectedPayload = 'WebAudio.nodesConnectedPayload'
        nodesDisconnectedPayload = 'WebAudio.nodesDisconnectedPayload'
        nodeParamConnectedPayload = 'WebAudio.nodeParamConnectedPayload'
        nodeParamDisconnectedPayload = 'WebAudio.nodeParamDisconnectedPayload'

    class Media:
        playerPropertiesChangedPayload = 'Media.playerPropertiesChangedPayload'
        playerEventsAddedPayload = 'Media.playerEventsAddedPayload'
        playersCreatedPayload = 'Media.playersCreatedPayload'

    class Console:
        messageAddedPayload = 'Console.messageAddedPayload'

    class Debugger:
        breakpointResolvedPayload = 'Debugger.breakpointResolvedPayload'
        pausedPayload = 'Debugger.pausedPayload'
        resumedPayload = 'Debugger.resumedPayload'
        scriptFailedToParsePayload = 'Debugger.scriptFailedToParsePayload'
        scriptParsedPayload = 'Debugger.scriptParsedPayload'

    class HeapProfiler:
        addHeapSnapshotChunkPayload = 'HeapProfiler.addHeapSnapshotChunkPayload'
        heapStatsUpdatePayload = 'HeapProfiler.heapStatsUpdatePayload'
        lastSeenObjectIdPayload = 'HeapProfiler.lastSeenObjectIdPayload'
        reportHeapSnapshotProgressPayload = 'HeapProfiler.reportHeapSnapshotProgressPayload'
        resetProfilesPayload = 'HeapProfiler.resetProfilesPayload'

    class Profiler:
        consoleProfileFinishedPayload = 'Profiler.consoleProfileFinishedPayload'
        consoleProfileStartedPayload = 'Profiler.consoleProfileStartedPayload'

    class Runtime:
        bindingCalledPayload = 'Runtime.bindingCalledPayload'
        consoleAPICalledPayload = 'Runtime.consoleAPICalledPayload'
        exceptionRevokedPayload = 'Runtime.exceptionRevokedPayload'
        exceptionThrownPayload = 'Runtime.exceptionThrownPayload'
        executionContextCreatedPayload = 'Runtime.executionContextCreatedPayload'
        executionContextDestroyedPayload = 'Runtime.executionContextDestroyedPayload'
        executionContextsClearedPayload = 'Runtime.executionContextsClearedPayload'
        inspectRequestedPayload = 'Runtime.inspectRequestedPayload'


class CommandNames:
    class Accessibility:
        disable = 'Accessibility.disable'
        enable = 'Accessibility.enable'
        getPartialAXTree = 'Accessibility.getPartialAXTree'
        getFullAXTree = 'Accessibility.getFullAXTree'

    class Animation:
        disable = 'Animation.disable'
        enable = 'Animation.enable'
        getCurrentTime = 'Animation.getCurrentTime'
        getPlaybackRate = 'Animation.getPlaybackRate'
        releaseAnimations = 'Animation.releaseAnimations'
        resolveAnimation = 'Animation.resolveAnimation'
        seekAnimations = 'Animation.seekAnimations'
        setPaused = 'Animation.setPaused'
        setPlaybackRate = 'Animation.setPlaybackRate'
        setTiming = 'Animation.setTiming'

    class ApplicationCache:
        enable = 'ApplicationCache.enable'
        getApplicationCacheForFrame = 'ApplicationCache.getApplicationCacheForFrame'
        getFramesWithManifests = 'ApplicationCache.getFramesWithManifests'
        getManifestForFrame = 'ApplicationCache.getManifestForFrame'

    class Audits:
        getEncodedResponse = 'Audits.getEncodedResponse'

    class BackgroundService:
        startObserving = 'BackgroundService.startObserving'
        stopObserving = 'BackgroundService.stopObserving'
        setRecording = 'BackgroundService.setRecording'
        clearEvents = 'BackgroundService.clearEvents'

    class Browser:
        setPermission = 'Browser.setPermission'
        grantPermissions = 'Browser.grantPermissions'
        resetPermissions = 'Browser.resetPermissions'
        close = 'Browser.close'
        crash = 'Browser.crash'
        crashGpuProcess = 'Browser.crashGpuProcess'
        getVersion = 'Browser.getVersion'
        getBrowserCommandLine = 'Browser.getBrowserCommandLine'
        getHistograms = 'Browser.getHistograms'
        getHistogram = 'Browser.getHistogram'
        getWindowBounds = 'Browser.getWindowBounds'
        getWindowForTarget = 'Browser.getWindowForTarget'
        setWindowBounds = 'Browser.setWindowBounds'
        setDockTile = 'Browser.setDockTile'

    class CSS:
        addRule = 'CSS.addRule'
        collectClassNames = 'CSS.collectClassNames'
        createStyleSheet = 'CSS.createStyleSheet'
        disable = 'CSS.disable'
        enable = 'CSS.enable'
        forcePseudoState = 'CSS.forcePseudoState'
        getBackgroundColors = 'CSS.getBackgroundColors'
        getComputedStyleForNode = 'CSS.getComputedStyleForNode'
        getInlineStylesForNode = 'CSS.getInlineStylesForNode'
        getMatchedStylesForNode = 'CSS.getMatchedStylesForNode'
        getMediaQueries = 'CSS.getMediaQueries'
        getPlatformFontsForNode = 'CSS.getPlatformFontsForNode'
        getStyleSheetText = 'CSS.getStyleSheetText'
        setEffectivePropertyValueForNode = 'CSS.setEffectivePropertyValueForNode'
        setKeyframeKey = 'CSS.setKeyframeKey'
        setMediaText = 'CSS.setMediaText'
        setRuleSelector = 'CSS.setRuleSelector'
        setStyleSheetText = 'CSS.setStyleSheetText'
        setStyleTexts = 'CSS.setStyleTexts'
        startRuleUsageTracking = 'CSS.startRuleUsageTracking'
        stopRuleUsageTracking = 'CSS.stopRuleUsageTracking'
        takeCoverageDelta = 'CSS.takeCoverageDelta'

    class CacheStorage:
        deleteCache = 'CacheStorage.deleteCache'
        deleteEntry = 'CacheStorage.deleteEntry'
        requestCacheNames = 'CacheStorage.requestCacheNames'
        requestCachedResponse = 'CacheStorage.requestCachedResponse'
        requestEntries = 'CacheStorage.requestEntries'

    class Cast:
        enable = 'Cast.enable'
        disable = 'Cast.disable'
        setSinkToUse = 'Cast.setSinkToUse'
        startTabMirroring = 'Cast.startTabMirroring'
        stopCasting = 'Cast.stopCasting'

    class DOM:
        collectClassNamesFromSubtree = 'DOM.collectClassNamesFromSubtree'
        copyTo = 'DOM.copyTo'
        describeNode = 'DOM.describeNode'
        disable = 'DOM.disable'
        discardSearchResults = 'DOM.discardSearchResults'
        enable = 'DOM.enable'
        focus = 'DOM.focus'
        getAttributes = 'DOM.getAttributes'
        getBoxModel = 'DOM.getBoxModel'
        getContentQuads = 'DOM.getContentQuads'
        getDocument = 'DOM.getDocument'
        getFlattenedDocument = 'DOM.getFlattenedDocument'
        getNodeForLocation = 'DOM.getNodeForLocation'
        getOuterHTML = 'DOM.getOuterHTML'
        getRelayoutBoundary = 'DOM.getRelayoutBoundary'
        getSearchResults = 'DOM.getSearchResults'
        hideHighlight = 'DOM.hideHighlight'
        highlightNode = 'DOM.highlightNode'
        highlightRect = 'DOM.highlightRect'
        markUndoableState = 'DOM.markUndoableState'
        moveTo = 'DOM.moveTo'
        performSearch = 'DOM.performSearch'
        pushNodeByPathToFrontend = 'DOM.pushNodeByPathToFrontend'
        pushNodesByBackendIdsToFrontend = 'DOM.pushNodesByBackendIdsToFrontend'
        querySelector = 'DOM.querySelector'
        querySelectorAll = 'DOM.querySelectorAll'
        redo = 'DOM.redo'
        removeAttribute = 'DOM.removeAttribute'
        removeNode = 'DOM.removeNode'
        requestChildNodes = 'DOM.requestChildNodes'
        requestNode = 'DOM.requestNode'
        resolveNode = 'DOM.resolveNode'
        setAttributeValue = 'DOM.setAttributeValue'
        setAttributesAsText = 'DOM.setAttributesAsText'
        setFileInputFiles = 'DOM.setFileInputFiles'
        setNodeStackTracesEnabled = 'DOM.setNodeStackTracesEnabled'
        getNodeStackTraces = 'DOM.getNodeStackTraces'
        getFileInfo = 'DOM.getFileInfo'
        setInspectedNode = 'DOM.setInspectedNode'
        setNodeName = 'DOM.setNodeName'
        setNodeValue = 'DOM.setNodeValue'
        setOuterHTML = 'DOM.setOuterHTML'
        undo = 'DOM.undo'
        getFrameOwner = 'DOM.getFrameOwner'

    class DOMDebugger:
        getEventListeners = 'DOMDebugger.getEventListeners'
        removeDOMBreakpoint = 'DOMDebugger.removeDOMBreakpoint'
        removeEventListenerBreakpoint = 'DOMDebugger.removeEventListenerBreakpoint'
        removeInstrumentationBreakpoint = 'DOMDebugger.removeInstrumentationBreakpoint'
        removeXHRBreakpoint = 'DOMDebugger.removeXHRBreakpoint'
        setDOMBreakpoint = 'DOMDebugger.setDOMBreakpoint'
        setEventListenerBreakpoint = 'DOMDebugger.setEventListenerBreakpoint'
        setInstrumentationBreakpoint = 'DOMDebugger.setInstrumentationBreakpoint'
        setXHRBreakpoint = 'DOMDebugger.setXHRBreakpoint'

    class DOMSnapshot:
        disable = 'DOMSnapshot.disable'
        enable = 'DOMSnapshot.enable'
        getSnapshot = 'DOMSnapshot.getSnapshot'
        captureSnapshot = 'DOMSnapshot.captureSnapshot'

    class DOMStorage:
        clear = 'DOMStorage.clear'
        disable = 'DOMStorage.disable'
        enable = 'DOMStorage.enable'
        getDOMStorageItems = 'DOMStorage.getDOMStorageItems'
        removeDOMStorageItem = 'DOMStorage.removeDOMStorageItem'
        setDOMStorageItem = 'DOMStorage.setDOMStorageItem'

    class Database:
        disable = 'Database.disable'
        enable = 'Database.enable'
        executeSQL = 'Database.executeSQL'
        getDatabaseTableNames = 'Database.getDatabaseTableNames'

    class DeviceOrientation:
        clearDeviceOrientationOverride = 'DeviceOrientation.clearDeviceOrientationOverride'
        setDeviceOrientationOverride = 'DeviceOrientation.setDeviceOrientationOverride'

    class Emulation:
        canEmulate = 'Emulation.canEmulate'
        clearDeviceMetricsOverride = 'Emulation.clearDeviceMetricsOverride'
        clearGeolocationOverride = 'Emulation.clearGeolocationOverride'
        resetPageScaleFactor = 'Emulation.resetPageScaleFactor'
        setFocusEmulationEnabled = 'Emulation.setFocusEmulationEnabled'
        setCPUThrottlingRate = 'Emulation.setCPUThrottlingRate'
        setDefaultBackgroundColorOverride = 'Emulation.setDefaultBackgroundColorOverride'
        setDeviceMetricsOverride = 'Emulation.setDeviceMetricsOverride'
        setScrollbarsHidden = 'Emulation.setScrollbarsHidden'
        setDocumentCookieDisabled = 'Emulation.setDocumentCookieDisabled'
        setEmitTouchEventsForMouse = 'Emulation.setEmitTouchEventsForMouse'
        setEmulatedMedia = 'Emulation.setEmulatedMedia'
        setGeolocationOverride = 'Emulation.setGeolocationOverride'
        setNavigatorOverrides = 'Emulation.setNavigatorOverrides'
        setPageScaleFactor = 'Emulation.setPageScaleFactor'
        setScriptExecutionDisabled = 'Emulation.setScriptExecutionDisabled'
        setTouchEmulationEnabled = 'Emulation.setTouchEmulationEnabled'
        setVirtualTimePolicy = 'Emulation.setVirtualTimePolicy'
        setTimezoneOverride = 'Emulation.setTimezoneOverride'
        setVisibleSize = 'Emulation.setVisibleSize'
        setUserAgentOverride = 'Emulation.setUserAgentOverride'

    class HeadlessExperimental:
        beginFrame = 'HeadlessExperimental.beginFrame'
        disable = 'HeadlessExperimental.disable'
        enable = 'HeadlessExperimental.enable'

    class IO:
        close = 'IO.close'
        read = 'IO.read'
        resolveBlob = 'IO.resolveBlob'

    class IndexedDB:
        clearObjectStore = 'IndexedDB.clearObjectStore'
        deleteDatabase = 'IndexedDB.deleteDatabase'
        deleteObjectStoreEntries = 'IndexedDB.deleteObjectStoreEntries'
        disable = 'IndexedDB.disable'
        enable = 'IndexedDB.enable'
        requestData = 'IndexedDB.requestData'
        getMetadata = 'IndexedDB.getMetadata'
        requestDatabase = 'IndexedDB.requestDatabase'
        requestDatabaseNames = 'IndexedDB.requestDatabaseNames'

    class Input:
        dispatchKeyEvent = 'Input.dispatchKeyEvent'
        insertText = 'Input.insertText'
        dispatchMouseEvent = 'Input.dispatchMouseEvent'
        dispatchTouchEvent = 'Input.dispatchTouchEvent'
        emulateTouchFromMouseEvent = 'Input.emulateTouchFromMouseEvent'
        setIgnoreInputEvents = 'Input.setIgnoreInputEvents'
        synthesizePinchGesture = 'Input.synthesizePinchGesture'
        synthesizeScrollGesture = 'Input.synthesizeScrollGesture'
        synthesizeTapGesture = 'Input.synthesizeTapGesture'

    class Inspector:
        disable = 'Inspector.disable'
        enable = 'Inspector.enable'

    class LayerTree:
        compositingReasons = 'LayerTree.compositingReasons'
        disable = 'LayerTree.disable'
        enable = 'LayerTree.enable'
        loadSnapshot = 'LayerTree.loadSnapshot'
        makeSnapshot = 'LayerTree.makeSnapshot'
        profileSnapshot = 'LayerTree.profileSnapshot'
        releaseSnapshot = 'LayerTree.releaseSnapshot'
        replaySnapshot = 'LayerTree.replaySnapshot'
        snapshotCommandLog = 'LayerTree.snapshotCommandLog'

    class Log:
        clear = 'Log.clear'
        disable = 'Log.disable'
        enable = 'Log.enable'
        startViolationsReport = 'Log.startViolationsReport'
        stopViolationsReport = 'Log.stopViolationsReport'

    class Memory:
        getDOMCounters = 'Memory.getDOMCounters'
        prepareForLeakDetection = 'Memory.prepareForLeakDetection'
        forciblyPurgeJavaScriptMemory = 'Memory.forciblyPurgeJavaScriptMemory'
        setPressureNotificationsSuppressed = 'Memory.setPressureNotificationsSuppressed'
        simulatePressureNotification = 'Memory.simulatePressureNotification'
        startSampling = 'Memory.startSampling'
        stopSampling = 'Memory.stopSampling'
        getAllTimeSamplingProfile = 'Memory.getAllTimeSamplingProfile'
        getBrowserSamplingProfile = 'Memory.getBrowserSamplingProfile'
        getSamplingProfile = 'Memory.getSamplingProfile'

    class Network:
        canClearBrowserCache = 'Network.canClearBrowserCache'
        canClearBrowserCookies = 'Network.canClearBrowserCookies'
        canEmulateNetworkConditions = 'Network.canEmulateNetworkConditions'
        clearBrowserCache = 'Network.clearBrowserCache'
        clearBrowserCookies = 'Network.clearBrowserCookies'
        continueInterceptedRequest = 'Network.continueInterceptedRequest'
        deleteCookies = 'Network.deleteCookies'
        disable = 'Network.disable'
        emulateNetworkConditions = 'Network.emulateNetworkConditions'
        enable = 'Network.enable'
        getAllCookies = 'Network.getAllCookies'
        getCertificate = 'Network.getCertificate'
        getCookies = 'Network.getCookies'
        getResponseBody = 'Network.getResponseBody'
        getRequestPostData = 'Network.getRequestPostData'
        getResponseBodyForInterception = 'Network.getResponseBodyForInterception'
        takeResponseBodyForInterceptionAsStream = 'Network.takeResponseBodyForInterceptionAsStream'
        replayXHR = 'Network.replayXHR'
        searchInResponseBody = 'Network.searchInResponseBody'
        setBlockedURLs = 'Network.setBlockedURLs'
        setBypassServiceWorker = 'Network.setBypassServiceWorker'
        setCacheDisabled = 'Network.setCacheDisabled'
        setCookie = 'Network.setCookie'
        setCookies = 'Network.setCookies'
        setDataSizeLimitsForTest = 'Network.setDataSizeLimitsForTest'
        setExtraHTTPHeaders = 'Network.setExtraHTTPHeaders'
        setRequestInterception = 'Network.setRequestInterception'
        setUserAgentOverride = 'Network.setUserAgentOverride'

    class Overlay:
        disable = 'Overlay.disable'
        enable = 'Overlay.enable'
        getHighlightObjectForTest = 'Overlay.getHighlightObjectForTest'
        hideHighlight = 'Overlay.hideHighlight'
        highlightFrame = 'Overlay.highlightFrame'
        highlightNode = 'Overlay.highlightNode'
        highlightQuad = 'Overlay.highlightQuad'
        highlightRect = 'Overlay.highlightRect'
        setInspectMode = 'Overlay.setInspectMode'
        setShowAdHighlights = 'Overlay.setShowAdHighlights'
        setPausedInDebuggerMessage = 'Overlay.setPausedInDebuggerMessage'
        setShowDebugBorders = 'Overlay.setShowDebugBorders'
        setShowFPSCounter = 'Overlay.setShowFPSCounter'
        setShowPaintRects = 'Overlay.setShowPaintRects'
        setShowLayoutShiftRegions = 'Overlay.setShowLayoutShiftRegions'
        setShowScrollBottleneckRects = 'Overlay.setShowScrollBottleneckRects'
        setShowHitTestBorders = 'Overlay.setShowHitTestBorders'
        setShowViewportSizeOnResize = 'Overlay.setShowViewportSizeOnResize'

    class Page:
        addScriptToEvaluateOnLoad = 'Page.addScriptToEvaluateOnLoad'
        addScriptToEvaluateOnNewDocument = 'Page.addScriptToEvaluateOnNewDocument'
        bringToFront = 'Page.bringToFront'
        captureScreenshot = 'Page.captureScreenshot'
        captureSnapshot = 'Page.captureSnapshot'
        clearDeviceMetricsOverride = 'Page.clearDeviceMetricsOverride'
        clearDeviceOrientationOverride = 'Page.clearDeviceOrientationOverride'
        clearGeolocationOverride = 'Page.clearGeolocationOverride'
        createIsolatedWorld = 'Page.createIsolatedWorld'
        deleteCookie = 'Page.deleteCookie'
        disable = 'Page.disable'
        enable = 'Page.enable'
        getAppManifest = 'Page.getAppManifest'
        getInstallabilityErrors = 'Page.getInstallabilityErrors'
        getCookies = 'Page.getCookies'
        getFrameTree = 'Page.getFrameTree'
        getLayoutMetrics = 'Page.getLayoutMetrics'
        getNavigationHistory = 'Page.getNavigationHistory'
        resetNavigationHistory = 'Page.resetNavigationHistory'
        getResourceContent = 'Page.getResourceContent'
        getResourceTree = 'Page.getResourceTree'
        handleJavaScriptDialog = 'Page.handleJavaScriptDialog'
        navigate = 'Page.navigate'
        navigateToHistoryEntry = 'Page.navigateToHistoryEntry'
        printToPDF = 'Page.printToPDF'
        reload = 'Page.reload'
        removeScriptToEvaluateOnLoad = 'Page.removeScriptToEvaluateOnLoad'
        removeScriptToEvaluateOnNewDocument = 'Page.removeScriptToEvaluateOnNewDocument'
        screencastFrameAck = 'Page.screencastFrameAck'
        searchInResource = 'Page.searchInResource'
        setAdBlockingEnabled = 'Page.setAdBlockingEnabled'
        setBypassCSP = 'Page.setBypassCSP'
        setDeviceMetricsOverride = 'Page.setDeviceMetricsOverride'
        setDeviceOrientationOverride = 'Page.setDeviceOrientationOverride'
        setFontFamilies = 'Page.setFontFamilies'
        setFontSizes = 'Page.setFontSizes'
        setDocumentContent = 'Page.setDocumentContent'
        setDownloadBehavior = 'Page.setDownloadBehavior'
        setGeolocationOverride = 'Page.setGeolocationOverride'
        setLifecycleEventsEnabled = 'Page.setLifecycleEventsEnabled'
        setTouchEmulationEnabled = 'Page.setTouchEmulationEnabled'
        startScreencast = 'Page.startScreencast'
        stopLoading = 'Page.stopLoading'
        crash = 'Page.crash'
        close = 'Page.close'
        setWebLifecycleState = 'Page.setWebLifecycleState'
        stopScreencast = 'Page.stopScreencast'
        setProduceCompilationCache = 'Page.setProduceCompilationCache'
        addCompilationCache = 'Page.addCompilationCache'
        clearCompilationCache = 'Page.clearCompilationCache'
        generateTestReport = 'Page.generateTestReport'
        waitForDebugger = 'Page.waitForDebugger'
        setInterceptFileChooserDialog = 'Page.setInterceptFileChooserDialog'

    class Performance:
        disable = 'Performance.disable'
        enable = 'Performance.enable'
        setTimeDomain = 'Performance.setTimeDomain'
        getMetrics = 'Performance.getMetrics'

    class Security:
        disable = 'Security.disable'
        enable = 'Security.enable'
        setIgnoreCertificateErrors = 'Security.setIgnoreCertificateErrors'
        handleCertificateError = 'Security.handleCertificateError'
        setOverrideCertificateErrors = 'Security.setOverrideCertificateErrors'

    class ServiceWorker:
        deliverPushMessage = 'ServiceWorker.deliverPushMessage'
        disable = 'ServiceWorker.disable'
        dispatchSyncEvent = 'ServiceWorker.dispatchSyncEvent'
        dispatchPeriodicSyncEvent = 'ServiceWorker.dispatchPeriodicSyncEvent'
        enable = 'ServiceWorker.enable'
        inspectWorker = 'ServiceWorker.inspectWorker'
        setForceUpdateOnPageLoad = 'ServiceWorker.setForceUpdateOnPageLoad'
        skipWaiting = 'ServiceWorker.skipWaiting'
        startWorker = 'ServiceWorker.startWorker'
        stopAllWorkers = 'ServiceWorker.stopAllWorkers'
        stopWorker = 'ServiceWorker.stopWorker'
        unregister = 'ServiceWorker.unregister'
        updateRegistration = 'ServiceWorker.updateRegistration'

    class Storage:
        clearDataForOrigin = 'Storage.clearDataForOrigin'
        getCookies = 'Storage.getCookies'
        setCookies = 'Storage.setCookies'
        clearCookies = 'Storage.clearCookies'
        getUsageAndQuota = 'Storage.getUsageAndQuota'
        trackCacheStorageForOrigin = 'Storage.trackCacheStorageForOrigin'
        trackIndexedDBForOrigin = 'Storage.trackIndexedDBForOrigin'
        untrackCacheStorageForOrigin = 'Storage.untrackCacheStorageForOrigin'
        untrackIndexedDBForOrigin = 'Storage.untrackIndexedDBForOrigin'

    class SystemInfo:
        getInfo = 'SystemInfo.getInfo'
        getProcessInfo = 'SystemInfo.getProcessInfo'

    class Target:
        activateTarget = 'Target.activateTarget'
        attachToTarget = 'Target.attachToTarget'
        attachToBrowserTarget = 'Target.attachToBrowserTarget'
        closeTarget = 'Target.closeTarget'
        exposeDevToolsProtocol = 'Target.exposeDevToolsProtocol'
        createBrowserContext = 'Target.createBrowserContext'
        getBrowserContexts = 'Target.getBrowserContexts'
        createTarget = 'Target.createTarget'
        detachFromTarget = 'Target.detachFromTarget'
        disposeBrowserContext = 'Target.disposeBrowserContext'
        getTargetInfo = 'Target.getTargetInfo'
        getTargets = 'Target.getTargets'
        sendMessageToTarget = 'Target.sendMessageToTarget'
        setAutoAttach = 'Target.setAutoAttach'
        setDiscoverTargets = 'Target.setDiscoverTargets'
        setRemoteLocations = 'Target.setRemoteLocations'

    class Tethering:
        bind = 'Tethering.bind'
        unbind = 'Tethering.unbind'

    class Tracing:
        end = 'Tracing.end'
        getCategories = 'Tracing.getCategories'
        recordClockSyncMarker = 'Tracing.recordClockSyncMarker'
        requestMemoryDump = 'Tracing.requestMemoryDump'
        start = 'Tracing.start'

    class Fetch:
        disable = 'Fetch.disable'
        enable = 'Fetch.enable'
        failRequest = 'Fetch.failRequest'
        fulfillRequest = 'Fetch.fulfillRequest'
        continueRequest = 'Fetch.continueRequest'
        continueWithAuth = 'Fetch.continueWithAuth'
        getResponseBody = 'Fetch.getResponseBody'
        takeResponseBodyAsStream = 'Fetch.takeResponseBodyAsStream'

    class WebAudio:
        enable = 'WebAudio.enable'
        disable = 'WebAudio.disable'
        getRealtimeData = 'WebAudio.getRealtimeData'

    class WebAuthn:
        enable = 'WebAuthn.enable'
        disable = 'WebAuthn.disable'
        addVirtualAuthenticator = 'WebAuthn.addVirtualAuthenticator'
        removeVirtualAuthenticator = 'WebAuthn.removeVirtualAuthenticator'
        addCredential = 'WebAuthn.addCredential'
        getCredential = 'WebAuthn.getCredential'
        getCredentials = 'WebAuthn.getCredentials'
        removeCredential = 'WebAuthn.removeCredential'
        clearCredentials = 'WebAuthn.clearCredentials'
        setUserVerified = 'WebAuthn.setUserVerified'

    class Media:
        enable = 'Media.enable'
        disable = 'Media.disable'

    class Console:
        clearMessages = 'Console.clearMessages'
        disable = 'Console.disable'
        enable = 'Console.enable'

    class Debugger:
        continueToLocation = 'Debugger.continueToLocation'
        disable = 'Debugger.disable'
        enable = 'Debugger.enable'
        evaluateOnCallFrame = 'Debugger.evaluateOnCallFrame'
        getPossibleBreakpoints = 'Debugger.getPossibleBreakpoints'
        getScriptSource = 'Debugger.getScriptSource'
        getWasmBytecode = 'Debugger.getWasmBytecode'
        getStackTrace = 'Debugger.getStackTrace'
        pause = 'Debugger.pause'
        pauseOnAsyncCall = 'Debugger.pauseOnAsyncCall'
        removeBreakpoint = 'Debugger.removeBreakpoint'
        restartFrame = 'Debugger.restartFrame'
        resume = 'Debugger.resume'
        searchInContent = 'Debugger.searchInContent'
        setAsyncCallStackDepth = 'Debugger.setAsyncCallStackDepth'
        setBlackboxPatterns = 'Debugger.setBlackboxPatterns'
        setBlackboxedRanges = 'Debugger.setBlackboxedRanges'
        setBreakpoint = 'Debugger.setBreakpoint'
        setInstrumentationBreakpoint = 'Debugger.setInstrumentationBreakpoint'
        setBreakpointByUrl = 'Debugger.setBreakpointByUrl'
        setBreakpointOnFunctionCall = 'Debugger.setBreakpointOnFunctionCall'
        setBreakpointsActive = 'Debugger.setBreakpointsActive'
        setPauseOnExceptions = 'Debugger.setPauseOnExceptions'
        setReturnValue = 'Debugger.setReturnValue'
        setScriptSource = 'Debugger.setScriptSource'
        setSkipAllPauses = 'Debugger.setSkipAllPauses'
        setVariableValue = 'Debugger.setVariableValue'
        stepInto = 'Debugger.stepInto'
        stepOut = 'Debugger.stepOut'
        stepOver = 'Debugger.stepOver'

    class HeapProfiler:
        addInspectedHeapObject = 'HeapProfiler.addInspectedHeapObject'
        collectGarbage = 'HeapProfiler.collectGarbage'
        disable = 'HeapProfiler.disable'
        enable = 'HeapProfiler.enable'
        getHeapObjectId = 'HeapProfiler.getHeapObjectId'
        getObjectByHeapObjectId = 'HeapProfiler.getObjectByHeapObjectId'
        getSamplingProfile = 'HeapProfiler.getSamplingProfile'
        startSampling = 'HeapProfiler.startSampling'
        startTrackingHeapObjects = 'HeapProfiler.startTrackingHeapObjects'
        stopSampling = 'HeapProfiler.stopSampling'
        stopTrackingHeapObjects = 'HeapProfiler.stopTrackingHeapObjects'
        takeHeapSnapshot = 'HeapProfiler.takeHeapSnapshot'

    class Profiler:
        disable = 'Profiler.disable'
        enable = 'Profiler.enable'
        getBestEffortCoverage = 'Profiler.getBestEffortCoverage'
        setSamplingInterval = 'Profiler.setSamplingInterval'
        start = 'Profiler.start'
        startPreciseCoverage = 'Profiler.startPreciseCoverage'
        startTypeProfile = 'Profiler.startTypeProfile'
        stop = 'Profiler.stop'
        stopPreciseCoverage = 'Profiler.stopPreciseCoverage'
        stopTypeProfile = 'Profiler.stopTypeProfile'
        takePreciseCoverage = 'Profiler.takePreciseCoverage'
        takeTypeProfile = 'Profiler.takeTypeProfile'
        enableRuntimeCallStats = 'Profiler.enableRuntimeCallStats'
        disableRuntimeCallStats = 'Profiler.disableRuntimeCallStats'
        getRuntimeCallStats = 'Profiler.getRuntimeCallStats'

    class Runtime:
        awaitPromise = 'Runtime.awaitPromise'
        callFunctionOn = 'Runtime.callFunctionOn'
        compileScript = 'Runtime.compileScript'
        disable = 'Runtime.disable'
        discardConsoleEntries = 'Runtime.discardConsoleEntries'
        enable = 'Runtime.enable'
        evaluate = 'Runtime.evaluate'
        getIsolateId = 'Runtime.getIsolateId'
        getHeapUsage = 'Runtime.getHeapUsage'
        getProperties = 'Runtime.getProperties'
        globalLexicalScopeNames = 'Runtime.globalLexicalScopeNames'
        queryObjects = 'Runtime.queryObjects'
        releaseObject = 'Runtime.releaseObject'
        releaseObjectGroup = 'Runtime.releaseObjectGroup'
        runIfWaitingForDebugger = 'Runtime.runIfWaitingForDebugger'
        runScript = 'Runtime.runScript'
        setAsyncCallStackDepth = 'Runtime.setAsyncCallStackDepth'
        setCustomObjectFormatterEnabled = 'Runtime.setCustomObjectFormatterEnabled'
        setMaxCallStackSizeToCapture = 'Runtime.setMaxCallStackSizeToCapture'
        terminateExecution = 'Runtime.terminateExecution'
        addBinding = 'Runtime.addBinding'
        removeBinding = 'Runtime.removeBinding'

    class Schema:
        getDomains = 'Schema.getDomains'
