# This file is auto-generated by the CDP protocol generator.
# Do not edit this file manually as your changes will be overwritten.
# Generated from Chrome DevTools Protocol specifications.

"""CDP Profiler Domain Commands"""

from typing import List
from typing_extensions import TypedDict

from typing import TYPE_CHECKING

if TYPE_CHECKING:
    from .types import Profile
    from .types import ScriptCoverage


class GetBestEffortCoverageReturns(TypedDict):
    result: "List[ScriptCoverage]"
    """Coverage data for the current isolate."""


class SetSamplingIntervalParameters(TypedDict):
    interval: "int"
    """New sampling interval in microseconds."""


class StartPreciseCoverageParameters(TypedDict, total=False):
    callCount: "bool"
    """Collect accurate call counts beyond simple 'covered' or 'not covered'."""
    detailed: "bool"
    """Collect block-based coverage."""
    allowTriggeredUpdates: "bool"
    """Allow the backend to send updates on its own initiative"""


class StartPreciseCoverageReturns(TypedDict):
    timestamp: "float"
    """Monotonically increasing time (in seconds) when the coverage update was taken in the backend."""


class StopReturns(TypedDict):
    profile: "Profile"
    """Recorded profile."""


class TakePreciseCoverageReturns(TypedDict):
    result: "List[ScriptCoverage]"
    """Coverage data for the current isolate."""
    timestamp: "float"
    """Monotonically increasing time (in seconds) when the coverage update was taken in the backend."""
