# generated by datamodel-codegen:
#   filename:  protobuf
#   timestamp: 2019-07-26T00:00:00+00:00

from __future__ import annotations

from pydantic import BaseModel, ConfigDict, Field

from . import example_spec_proto3_alias_state, example_spec_proto3_spec_proto3_nested


class ExampleSpecProto3SpecProto3(BaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    plain: str | None = ''
    explicit_count: int | None = None
    packed_numbers: list[int] | None = []
    names: list[str] | None = []
    state: example_spec_proto3_alias_state.ExampleSpecProto3AliasState | None = (
        'ALIAS_STATE_UNSPECIFIED'
    )
    nested: (
        example_spec_proto3_spec_proto3_nested.ExampleSpecProto3SpecProto3Nested | None
    ) = None
    qualified_state: (
        example_spec_proto3_alias_state.ExampleSpecProto3AliasState | None
    ) = 'ALIAS_STATE_UNSPECIFIED'
    string_map: dict[str, str] | None = {}
    int32_map: dict[int, str] | None = {}
    int64_map: dict[int, str] | None = {}
    uint32_map: dict[int, str] | None = {}
    uint64_map: dict[int, str] | None = {}
    sint32_map: dict[int, str] | None = {}
    sint64_map: dict[int, str] | None = {}
    fixed32_map: dict[int, str] | None = {}
    fixed64_map: dict[int, str] | None = {}
    sfixed32_map: dict[int, str] | None = {}
    sfixed64_map: dict[int, str] | None = {}
    bool_map: dict[bool, str] | None = {}
    by_name: str | None = Field(None, description='oneof: lookup')
    by_nested: (
        example_spec_proto3_spec_proto3_nested.ExampleSpecProto3SpecProto3Nested | None
    ) = Field(None, description='oneof: lookup')
