"""
This file is generated by generator/run.py based on the Chrome DevTools Protocol.


https://chromedevtools.github.io/devtools-protocol/tot/DeviceAccess/

***************************************************
                    Methods
***************************************************
"""
from __future__ import annotations

from cdpkit.protocol._types import (
    DeviceAccess,
)
from cdpkit.protocol.base import CDPMethod, InputModel


class Enable(CDPMethod[None]):
    """ Enable events in this domain. """

    INPUT_VALIDATOR = None
    OUTPUT_VALIDATOR = None


class Disable(CDPMethod[None]):
    """ Disable events in this domain. """

    INPUT_VALIDATOR = None
    OUTPUT_VALIDATOR = None


class SelectPromptInput(InputModel):

    id: DeviceAccess.RequestId
    deviceId: DeviceAccess.DeviceId


class SelectPrompt(CDPMethod[None]):
    """ Select a device in response to a DeviceAccess.deviceRequestPrompted event. """

    INPUT_VALIDATOR = SelectPromptInput
    OUTPUT_VALIDATOR = None

    def __init__(
        self,
        *,
        id_: DeviceAccess.RequestId,
        device_id: DeviceAccess.DeviceId
    ):
        super().__init__(
            id=id_,
            deviceId=device_id
        )


class CancelPromptInput(InputModel):

    id: DeviceAccess.RequestId


class CancelPrompt(CDPMethod[None]):
    """ Cancel a prompt in response to a DeviceAccess.deviceRequestPrompted event. """

    INPUT_VALIDATOR = CancelPromptInput
    OUTPUT_VALIDATOR = None

    def __init__(
        self,
        *,
        id_: DeviceAccess.RequestId
    ):
        super().__init__(
            id=id_
        )
