# generated by datamodel-codegen:
#   filename:  notification.json

from __future__ import annotations

from typing import Any, Optional

from pydantic import BaseModel, confloat


class Action(BaseModel):
    """
    Notification Action
    """

    command: str
    data: Optional[dict[str, Any]] = None
    label: str


class Audio(BaseModel):
    source: str
    volume: Optional[confloat(ge=0.0, le=100.0)] = None


class Notification(BaseModel):
    """
    Notification
    """

    title: str
    message: Optional[str] = None
    icon: Optional[str] = None
    image: Optional[str] = None
    actions: Optional[list[Action]] = None
    timeout: Optional[float] = None
    audio: Optional[Audio] = None
