"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Copyright 2019 Google LLC

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

   https://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.
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.timestamp_pb2
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class Metadata(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    UPDATE_TIME_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    LANGUAGE_FIELD_NUMBER: builtins.int
    DISTRIBUTION_NAME_FIELD_NUMBER: builtins.int
    PRODUCT_PAGE_FIELD_NUMBER: builtins.int
    GITHUB_REPOSITORY_FIELD_NUMBER: builtins.int
    ISSUE_TRACKER_FIELD_NUMBER: builtins.int
    STEM_FIELD_NUMBER: builtins.int
    SERVING_PATH_FIELD_NUMBER: builtins.int
    XREFS_FIELD_NUMBER: builtins.int
    XREF_SERVICES_FIELD_NUMBER: builtins.int
    name: builtins.str
    """The product/API name. This *should* match the DNS name of the API
    service. For example, Python's Cloud Storage client would list "storage"
    because it talks to storage.googleapis.com. For non-API libraries, such
    as auth, consult googleapis-dot-dev-team@ for guidance.
    """
    version: builtins.str
    """The package version, for example 1.2.3, or 0.1.2-beta1."""
    language: builtins.str
    """The (programming) language. While this isn't enforced with an enum, you
    should use one of the following strings:  python, nodejs, ruby, dotnet,
    java, go, php, cpp. In some cases you might need to use something else,
    consult googleapis-dot-dev-team@ for guidance.
    """
    distribution_name: builtins.str
    """The language-idiomatic package/distribution name, for example:
    Python: google-cloud-storage
    Node.js: @google/cloud-storage
    """
    product_page: builtins.str
    """The rest of the fields here are optional, but encouraged.

    The product page. For example https://cloud.google.com/storage/
    """
    github_repository: builtins.str
    """The github repository. For example, Node's Cloud Storage client would be https://github.com/googleapis/nodejs-storage"""
    issue_tracker: builtins.str
    """The issue tracker. For example the Node Storage client's issue tracker is https://github.com/googleapis/nodejs-storage/issues"""
    stem: builtins.str
    """The fields below are advanced and should only be set with consultation
    from googleapis-dot-dev-team@.

    The published stem for this docset. If unspecified, it will be set to
    `{language}/{name}`.
    """
    serving_path: builtins.str
    """The serving path for this docset. If unspecified, it will be set to
    `{stem}/{version}`.
    """
    @property
    def update_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """When the documentation was built."""

    @property
    def xrefs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """The DocFX xref URLs required for these docs."""

    @property
    def xref_services(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """The DocFX xref service URLs required for these docs."""

    def __init__(
        self,
        *,
        update_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        name: builtins.str = ...,
        version: builtins.str = ...,
        language: builtins.str = ...,
        distribution_name: builtins.str = ...,
        product_page: builtins.str = ...,
        github_repository: builtins.str = ...,
        issue_tracker: builtins.str = ...,
        stem: builtins.str = ...,
        serving_path: builtins.str = ...,
        xrefs: collections.abc.Iterable[builtins.str] | None = ...,
        xref_services: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["update_time", b"update_time"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["distribution_name", b"distribution_name", "github_repository", b"github_repository", "issue_tracker", b"issue_tracker", "language", b"language", "name", b"name", "product_page", b"product_page", "serving_path", b"serving_path", "stem", b"stem", "update_time", b"update_time", "version", b"version", "xref_services", b"xref_services", "xrefs", b"xrefs"]) -> None: ...

global___Metadata = Metadata
