"""Auto-generated by bindgen. Do not edit."""
# ruff: noqa: E501, F401, I001
# fmt: off

from __future__ import annotations

from dataclasses import dataclass
from typing import Any, Optional, Union

from wasmtime.component import Variant as _WitVariant
from wasmtime.component import VariantCase as _WitVariantCase


class LogLevel(str):
    """Severity level of a log entry."""
    __slots__ = ()

    TRACE: LogLevel
    DEBUG: LogLevel
    INFO: LogLevel
    WARN: LogLevel
    ERROR: LogLevel

LogLevel.TRACE = LogLevel('trace')  # type: ignore[attr-defined]
LogLevel.DEBUG = LogLevel('debug')  # type: ignore[attr-defined]
LogLevel.INFO = LogLevel('info')  # type: ignore[attr-defined]
LogLevel.WARN = LogLevel('warn')  # type: ignore[attr-defined]
LogLevel.ERROR = LogLevel('error')  # type: ignore[attr-defined]


@dataclass(kw_only=True)
class LogEntry:
    """A single structured log entry."""
    level: LogLevel
    message: str
    context: str | None
