# Copyright (c) 2025-2026 Buf Technologies, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Generated from google/protobuf/wrappers.proto. DO NOT EDIT.
# Generated by protoc-gen-py v0.1.1 with parameter "no_fmt_off".
# ruff: noqa: PGH004
# ruff: noqa

from __future__ import annotations

from typing import Literal, TYPE_CHECKING, TypeAlias

from protobuf import Message
from protobuf._codegen import file_desc

if TYPE_CHECKING:
    from protobuf import DescFile


_DoubleValueFields: TypeAlias = Literal["value"]


class DoubleValue(Message[_DoubleValueFields]):
    """
    Wrapper message for `double`.

    The JSON representation for `DoubleValue` is JSON number.

    Not recommended for use in new APIs, but still useful for legacy APIs and
    has no plan to be removed.

    ```proto
    message google.protobuf.DoubleValue
    ```

    Attributes:
        value:
            The double value.

            ```proto
            double value = 1;
            ```
    """

    __slots__ = ("value",)

    if TYPE_CHECKING:

        def __init__(self, *, value: float = 0) -> None:
            pass

        value: float


_FloatValueFields: TypeAlias = Literal["value"]


class FloatValue(Message[_FloatValueFields]):
    """
    Wrapper message for `float`.

    The JSON representation for `FloatValue` is JSON number.

    Not recommended for use in new APIs, but still useful for legacy APIs and
    has no plan to be removed.

    ```proto
    message google.protobuf.FloatValue
    ```

    Attributes:
        value:
            The float value.

            ```proto
            float value = 1;
            ```
    """

    __slots__ = ("value",)

    if TYPE_CHECKING:

        def __init__(self, *, value: float = 0) -> None:
            pass

        value: float


_Int64ValueFields: TypeAlias = Literal["value"]


class Int64Value(Message[_Int64ValueFields]):
    """
    Wrapper message for `int64`.

    The JSON representation for `Int64Value` is JSON string.

    Not recommended for use in new APIs, but still useful for legacy APIs and
    has no plan to be removed.

    ```proto
    message google.protobuf.Int64Value
    ```

    Attributes:
        value:
            The int64 value.

            ```proto
            int64 value = 1;
            ```
    """

    __slots__ = ("value",)

    if TYPE_CHECKING:

        def __init__(self, *, value: int = 0) -> None:
            pass

        value: int


_UInt64ValueFields: TypeAlias = Literal["value"]


class UInt64Value(Message[_UInt64ValueFields]):
    """
    Wrapper message for `uint64`.

    The JSON representation for `UInt64Value` is JSON string.

    Not recommended for use in new APIs, but still useful for legacy APIs and
    has no plan to be removed.

    ```proto
    message google.protobuf.UInt64Value
    ```

    Attributes:
        value:
            The uint64 value.

            ```proto
            uint64 value = 1;
            ```
    """

    __slots__ = ("value",)

    if TYPE_CHECKING:

        def __init__(self, *, value: int = 0) -> None:
            pass

        value: int


_Int32ValueFields: TypeAlias = Literal["value"]


class Int32Value(Message[_Int32ValueFields]):
    """
    Wrapper message for `int32`.

    The JSON representation for `Int32Value` is JSON number.

    Not recommended for use in new APIs, but still useful for legacy APIs and
    has no plan to be removed.

    ```proto
    message google.protobuf.Int32Value
    ```

    Attributes:
        value:
            The int32 value.

            ```proto
            int32 value = 1;
            ```
    """

    __slots__ = ("value",)

    if TYPE_CHECKING:

        def __init__(self, *, value: int = 0) -> None:
            pass

        value: int


_UInt32ValueFields: TypeAlias = Literal["value"]


class UInt32Value(Message[_UInt32ValueFields]):
    """
    Wrapper message for `uint32`.

    The JSON representation for `UInt32Value` is JSON number.

    Not recommended for use in new APIs, but still useful for legacy APIs and
    has no plan to be removed.

    ```proto
    message google.protobuf.UInt32Value
    ```

    Attributes:
        value:
            The uint32 value.

            ```proto
            uint32 value = 1;
            ```
    """

    __slots__ = ("value",)

    if TYPE_CHECKING:

        def __init__(self, *, value: int = 0) -> None:
            pass

        value: int


_BoolValueFields: TypeAlias = Literal["value"]


class BoolValue(Message[_BoolValueFields]):
    """
    Wrapper message for `bool`.

    The JSON representation for `BoolValue` is JSON `true` and `false`.

    Not recommended for use in new APIs, but still useful for legacy APIs and
    has no plan to be removed.

    ```proto
    message google.protobuf.BoolValue
    ```

    Attributes:
        value:
            The bool value.

            ```proto
            bool value = 1;
            ```
    """

    __slots__ = ("value",)

    if TYPE_CHECKING:

        def __init__(self, *, value: bool = False) -> None:
            pass

        value: bool


_StringValueFields: TypeAlias = Literal["value"]


class StringValue(Message[_StringValueFields]):
    """
    Wrapper message for `string`.

    The JSON representation for `StringValue` is JSON string.

    Not recommended for use in new APIs, but still useful for legacy APIs and
    has no plan to be removed.

    ```proto
    message google.protobuf.StringValue
    ```

    Attributes:
        value:
            The string value.

            ```proto
            string value = 1;
            ```
    """

    __slots__ = ("value",)

    if TYPE_CHECKING:

        def __init__(self, *, value: str = "") -> None:
            pass

        value: str


_BytesValueFields: TypeAlias = Literal["value"]


class BytesValue(Message[_BytesValueFields]):
    """
    Wrapper message for `bytes`.

    The JSON representation for `BytesValue` is JSON string.

    Not recommended for use in new APIs, but still useful for legacy APIs and
    has no plan to be removed.

    ```proto
    message google.protobuf.BytesValue
    ```

    Attributes:
        value:
            The bytes value.

            ```proto
            bytes value = 1;
            ```
    """

    __slots__ = ("value",)

    if TYPE_CHECKING:

        def __init__(self, *, value: bytes = b"") -> None:
            pass

        value: bytes


_DESC = file_desc(
    b'\n\x1egoogle/protobuf/wrappers.proto\x12\x0fgoogle.protobuf"#\n\x0bDoubleValue\x12\x14\n\x05value\x18\x01 \x01(\x01R\x05value""\n\nFloatValue\x12\x14\n\x05value\x18\x01 \x01(\x02R\x05value""\n\nInt64Value\x12\x14\n\x05value\x18\x01 \x01(\x03R\x05value"#\n\x0bUInt64Value\x12\x14\n\x05value\x18\x01 \x01(\x04R\x05value""\n\nInt32Value\x12\x14\n\x05value\x18\x01 \x01(\x05R\x05value"#\n\x0bUInt32Value\x12\x14\n\x05value\x18\x01 \x01(\rR\x05value"!\n\tBoolValue\x12\x14\n\x05value\x18\x01 \x01(\x08R\x05value"#\n\x0bStringValue\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value""\n\nBytesValue\x12\x14\n\x05value\x18\x01 \x01(\x0cR\x05valueB\x83\x01\n\x13com.google.protobufB\rWrappersProtoP\x01Z1google.golang.org/protobuf/types/known/wrapperspb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3',
    [],
    {
        "DoubleValue": DoubleValue,
        "FloatValue": FloatValue,
        "Int64Value": Int64Value,
        "UInt64Value": UInt64Value,
        "Int32Value": Int32Value,
        "UInt32Value": UInt32Value,
        "BoolValue": BoolValue,
        "StringValue": StringValue,
        "BytesValue": BytesValue,
    },
)


def desc() -> DescFile:
    """Returns the descriptor for the file `google/protobuf/wrappers.proto`."""
    return _DESC
