from google.api import annotations_pb2 as _annotations_pb2
from google.protobuf.internal import containers as _containers
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
DESCRIPTOR: _descriptor.FileDescriptor

class AppDescriptor(_message.Message):
    __slots__ = ('authn', 'chain', 'codec', 'configuration', 'query_services', 'tx')
    AUTHN_FIELD_NUMBER: _ClassVar[int]
    CHAIN_FIELD_NUMBER: _ClassVar[int]
    CODEC_FIELD_NUMBER: _ClassVar[int]
    CONFIGURATION_FIELD_NUMBER: _ClassVar[int]
    QUERY_SERVICES_FIELD_NUMBER: _ClassVar[int]
    TX_FIELD_NUMBER: _ClassVar[int]
    authn: AuthnDescriptor
    chain: ChainDescriptor
    codec: CodecDescriptor
    configuration: ConfigurationDescriptor
    query_services: QueryServicesDescriptor
    tx: TxDescriptor

    def __init__(self, authn: _Optional[_Union[AuthnDescriptor, _Mapping]]=..., chain: _Optional[_Union[ChainDescriptor, _Mapping]]=..., codec: _Optional[_Union[CodecDescriptor, _Mapping]]=..., configuration: _Optional[_Union[ConfigurationDescriptor, _Mapping]]=..., query_services: _Optional[_Union[QueryServicesDescriptor, _Mapping]]=..., tx: _Optional[_Union[TxDescriptor, _Mapping]]=...) -> None:
        ...

class TxDescriptor(_message.Message):
    __slots__ = ('fullname', 'msgs')
    FULLNAME_FIELD_NUMBER: _ClassVar[int]
    MSGS_FIELD_NUMBER: _ClassVar[int]
    fullname: str
    msgs: _containers.RepeatedCompositeFieldContainer[MsgDescriptor]

    def __init__(self, fullname: _Optional[str]=..., msgs: _Optional[_Iterable[_Union[MsgDescriptor, _Mapping]]]=...) -> None:
        ...

class AuthnDescriptor(_message.Message):
    __slots__ = ('sign_modes',)
    SIGN_MODES_FIELD_NUMBER: _ClassVar[int]
    sign_modes: _containers.RepeatedCompositeFieldContainer[SigningModeDescriptor]

    def __init__(self, sign_modes: _Optional[_Iterable[_Union[SigningModeDescriptor, _Mapping]]]=...) -> None:
        ...

class SigningModeDescriptor(_message.Message):
    __slots__ = ('name', 'number', 'authn_info_provider_method_fullname')
    NAME_FIELD_NUMBER: _ClassVar[int]
    NUMBER_FIELD_NUMBER: _ClassVar[int]
    AUTHN_INFO_PROVIDER_METHOD_FULLNAME_FIELD_NUMBER: _ClassVar[int]
    name: str
    number: int
    authn_info_provider_method_fullname: str

    def __init__(self, name: _Optional[str]=..., number: _Optional[int]=..., authn_info_provider_method_fullname: _Optional[str]=...) -> None:
        ...

class ChainDescriptor(_message.Message):
    __slots__ = ('id',)
    ID_FIELD_NUMBER: _ClassVar[int]
    id: str

    def __init__(self, id: _Optional[str]=...) -> None:
        ...

class CodecDescriptor(_message.Message):
    __slots__ = ('interfaces',)
    INTERFACES_FIELD_NUMBER: _ClassVar[int]
    interfaces: _containers.RepeatedCompositeFieldContainer[InterfaceDescriptor]

    def __init__(self, interfaces: _Optional[_Iterable[_Union[InterfaceDescriptor, _Mapping]]]=...) -> None:
        ...

class InterfaceDescriptor(_message.Message):
    __slots__ = ('fullname', 'interface_accepting_messages', 'interface_implementers')
    FULLNAME_FIELD_NUMBER: _ClassVar[int]
    INTERFACE_ACCEPTING_MESSAGES_FIELD_NUMBER: _ClassVar[int]
    INTERFACE_IMPLEMENTERS_FIELD_NUMBER: _ClassVar[int]
    fullname: str
    interface_accepting_messages: _containers.RepeatedCompositeFieldContainer[InterfaceAcceptingMessageDescriptor]
    interface_implementers: _containers.RepeatedCompositeFieldContainer[InterfaceImplementerDescriptor]

    def __init__(self, fullname: _Optional[str]=..., interface_accepting_messages: _Optional[_Iterable[_Union[InterfaceAcceptingMessageDescriptor, _Mapping]]]=..., interface_implementers: _Optional[_Iterable[_Union[InterfaceImplementerDescriptor, _Mapping]]]=...) -> None:
        ...

class InterfaceImplementerDescriptor(_message.Message):
    __slots__ = ('fullname', 'type_url')
    FULLNAME_FIELD_NUMBER: _ClassVar[int]
    TYPE_URL_FIELD_NUMBER: _ClassVar[int]
    fullname: str
    type_url: str

    def __init__(self, fullname: _Optional[str]=..., type_url: _Optional[str]=...) -> None:
        ...

class InterfaceAcceptingMessageDescriptor(_message.Message):
    __slots__ = ('fullname', 'field_descriptor_names')
    FULLNAME_FIELD_NUMBER: _ClassVar[int]
    FIELD_DESCRIPTOR_NAMES_FIELD_NUMBER: _ClassVar[int]
    fullname: str
    field_descriptor_names: _containers.RepeatedScalarFieldContainer[str]

    def __init__(self, fullname: _Optional[str]=..., field_descriptor_names: _Optional[_Iterable[str]]=...) -> None:
        ...

class ConfigurationDescriptor(_message.Message):
    __slots__ = ('bech32_account_address_prefix',)
    BECH32_ACCOUNT_ADDRESS_PREFIX_FIELD_NUMBER: _ClassVar[int]
    bech32_account_address_prefix: str

    def __init__(self, bech32_account_address_prefix: _Optional[str]=...) -> None:
        ...

class MsgDescriptor(_message.Message):
    __slots__ = ('msg_type_url',)
    MSG_TYPE_URL_FIELD_NUMBER: _ClassVar[int]
    msg_type_url: str

    def __init__(self, msg_type_url: _Optional[str]=...) -> None:
        ...

class GetAuthnDescriptorRequest(_message.Message):
    __slots__ = ()

    def __init__(self) -> None:
        ...

class GetAuthnDescriptorResponse(_message.Message):
    __slots__ = ('authn',)
    AUTHN_FIELD_NUMBER: _ClassVar[int]
    authn: AuthnDescriptor

    def __init__(self, authn: _Optional[_Union[AuthnDescriptor, _Mapping]]=...) -> None:
        ...

class GetChainDescriptorRequest(_message.Message):
    __slots__ = ()

    def __init__(self) -> None:
        ...

class GetChainDescriptorResponse(_message.Message):
    __slots__ = ('chain',)
    CHAIN_FIELD_NUMBER: _ClassVar[int]
    chain: ChainDescriptor

    def __init__(self, chain: _Optional[_Union[ChainDescriptor, _Mapping]]=...) -> None:
        ...

class GetCodecDescriptorRequest(_message.Message):
    __slots__ = ()

    def __init__(self) -> None:
        ...

class GetCodecDescriptorResponse(_message.Message):
    __slots__ = ('codec',)
    CODEC_FIELD_NUMBER: _ClassVar[int]
    codec: CodecDescriptor

    def __init__(self, codec: _Optional[_Union[CodecDescriptor, _Mapping]]=...) -> None:
        ...

class GetConfigurationDescriptorRequest(_message.Message):
    __slots__ = ()

    def __init__(self) -> None:
        ...

class GetConfigurationDescriptorResponse(_message.Message):
    __slots__ = ('config',)
    CONFIG_FIELD_NUMBER: _ClassVar[int]
    config: ConfigurationDescriptor

    def __init__(self, config: _Optional[_Union[ConfigurationDescriptor, _Mapping]]=...) -> None:
        ...

class GetQueryServicesDescriptorRequest(_message.Message):
    __slots__ = ()

    def __init__(self) -> None:
        ...

class GetQueryServicesDescriptorResponse(_message.Message):
    __slots__ = ('queries',)
    QUERIES_FIELD_NUMBER: _ClassVar[int]
    queries: QueryServicesDescriptor

    def __init__(self, queries: _Optional[_Union[QueryServicesDescriptor, _Mapping]]=...) -> None:
        ...

class GetTxDescriptorRequest(_message.Message):
    __slots__ = ()

    def __init__(self) -> None:
        ...

class GetTxDescriptorResponse(_message.Message):
    __slots__ = ('tx',)
    TX_FIELD_NUMBER: _ClassVar[int]
    tx: TxDescriptor

    def __init__(self, tx: _Optional[_Union[TxDescriptor, _Mapping]]=...) -> None:
        ...

class QueryServicesDescriptor(_message.Message):
    __slots__ = ('query_services',)
    QUERY_SERVICES_FIELD_NUMBER: _ClassVar[int]
    query_services: _containers.RepeatedCompositeFieldContainer[QueryServiceDescriptor]

    def __init__(self, query_services: _Optional[_Iterable[_Union[QueryServiceDescriptor, _Mapping]]]=...) -> None:
        ...

class QueryServiceDescriptor(_message.Message):
    __slots__ = ('fullname', 'is_module', 'methods')
    FULLNAME_FIELD_NUMBER: _ClassVar[int]
    IS_MODULE_FIELD_NUMBER: _ClassVar[int]
    METHODS_FIELD_NUMBER: _ClassVar[int]
    fullname: str
    is_module: bool
    methods: _containers.RepeatedCompositeFieldContainer[QueryMethodDescriptor]

    def __init__(self, fullname: _Optional[str]=..., is_module: bool=..., methods: _Optional[_Iterable[_Union[QueryMethodDescriptor, _Mapping]]]=...) -> None:
        ...

class QueryMethodDescriptor(_message.Message):
    __slots__ = ('name', 'full_query_path')
    NAME_FIELD_NUMBER: _ClassVar[int]
    FULL_QUERY_PATH_FIELD_NUMBER: _ClassVar[int]
    name: str
    full_query_path: str

    def __init__(self, name: _Optional[str]=..., full_query_path: _Optional[str]=...) -> None:
        ...