from typing import Final

from google.protobuf.descriptor_pb2 import FileDescriptorProto

__author__: Final[str]

class Error(Exception): ...
class DescriptorDatabaseConflictingDefinitionError(Error): ...

class DescriptorDatabase:
    def __init__(self) -> None: ...
    def Add(self, file_desc_proto: FileDescriptorProto) -> None: ...
    def FindFileByName(self, name: str) -> FileDescriptorProto: ...
    def FindFileContainingSymbol(self, symbol: str) -> FileDescriptorProto: ...
    def FindFileContainingExtension(self, extendee_name: str, extension_number: int) -> FileDescriptorProto | None: ...
    def FindAllExtensionNumbers(self, extendee_name: str) -> list[int]: ...
