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

from __future__ import annotations
from acuvity.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class DetectorTypedDict(TypedDict):
    r"""Represent a detector an analyzer can use."""

    description: NotRequired[str]
    r"""The description of the detection."""
    group: NotRequired[str]
    r"""The group the detection belongs to."""
    label: NotRequired[str]
    r"""The label returned by the model."""
    name: NotRequired[str]
    r"""The name of the detection."""
    positional: NotRequired[bool]
    r"""Tell if the detection is positional."""


class Detector(BaseModel):
    r"""Represent a detector an analyzer can use."""

    description: Optional[str] = None
    r"""The description of the detection."""

    group: Optional[str] = None
    r"""The group the detection belongs to."""

    label: Optional[str] = None
    r"""The label returned by the model."""

    name: Optional[str] = None
    r"""The name of the detection."""

    positional: Optional[bool] = None
    r"""Tell if the detection is positional."""
