"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
*!
Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026)

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.
"""

from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
import builtins as _builtins
import sys
import typing as _typing

if sys.version_info >= (3, 10):
    from typing import TypeAlias as _TypeAlias
else:
    from typing_extensions import TypeAlias as _TypeAlias

DESCRIPTOR: _descriptor.FileDescriptor

@_typing.final
class AppPage(_message.Message):
    """A page in the app with display metadata and a navigation destination.

    NOTE: This proto type is used by some external services so needs to remain
    relatively stable. While it isn't entirely set in stone, changing it
    may require a good amount of effort so should be avoided if possible.
    """

    DESCRIPTOR: _descriptor.Descriptor

    PAGE_SCRIPT_HASH_FIELD_NUMBER: _builtins.int
    PAGE_NAME_FIELD_NUMBER: _builtins.int
    ICON_FIELD_NUMBER: _builtins.int
    IS_DEFAULT_FIELD_NUMBER: _builtins.int
    SECTION_HEADER_FIELD_NUMBER: _builtins.int
    URL_PATHNAME_FIELD_NUMBER: _builtins.int
    IS_HIDDEN_FIELD_NUMBER: _builtins.int
    EXTERNAL_URL_FIELD_NUMBER: _builtins.int
    page_script_hash: _builtins.str
    page_name: _builtins.str
    icon: _builtins.str
    is_default: _builtins.bool
    """A feature for MPA v2 to inform the frontend what's the default page"""
    section_header: _builtins.str
    url_pathname: _builtins.str
    is_hidden: _builtins.bool
    """Whether the page is hidden from navigation menu"""
    external_url: _builtins.str
    """If set, this page links to an external URL that opens in a new browser tab
    instead of navigating within the app. Only set by the navigation payload.
    """
    def __init__(
        self,
        *,
        page_script_hash: _builtins.str = ...,
        page_name: _builtins.str = ...,
        icon: _builtins.str = ...,
        is_default: _builtins.bool = ...,
        section_header: _builtins.str = ...,
        url_pathname: _builtins.str = ...,
        is_hidden: _builtins.bool = ...,
        external_url: _builtins.str | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["_external_url", b"_external_url", "external_url", b"external_url"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["_external_url", b"_external_url", "external_url", b"external_url", "icon", b"icon", "is_default", b"is_default", "is_hidden", b"is_hidden", "page_name", b"page_name", "page_script_hash", b"page_script_hash", "section_header", b"section_header", "url_pathname", b"url_pathname"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType__external_url: _TypeAlias = _typing.Literal["external_url"]  # noqa: Y015
    _WhichOneofArgType__external_url: _TypeAlias = _typing.Literal["_external_url", b"_external_url"]  # noqa: Y015
    def WhichOneof(self, oneof_group: _WhichOneofArgType__external_url) -> _WhichOneofReturnType__external_url | None: ...

Global___AppPage: _TypeAlias = AppPage  # noqa: Y015
