# Stubs for zope.interface._zope_interface_coptimizations (Python 3.6)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from typing import Any

import _interface_coptimizations
import _zope_interface_coptimizations
adapter_hooks: Any

def getObjectSpecification(*args, **kwargs) -> Any: ...
def implementedBy(*args, **kwargs) -> Any: ...
def providedBy(*args, **kwargs) -> Any: ...

class ClassProvidesBase(_interface_coptimizations.SpecificationBase):
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    def __get__(self, *args, **kwargs) -> Any: ...

class InterfaceBase:
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    def __adapt__(self, *args, **kwargs) -> Any: ...
    def __call__(self, *args, **kwargs) -> Any: ...

class LookupBase:
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    def adapter_hook(self, *args, **kwargs) -> Any: ...
    def changed(self, *args, **kwargs) -> Any: ...
    def lookup(self, *args, **kwargs) -> Any: ...
    def lookup1(self, *args, **kwargs) -> Any: ...
    def lookupAll(self, *args, **kwargs) -> Any: ...
    def queryAdapter(self, *args, **kwargs) -> Any: ...
    def subscriptions(self, *args, **kwargs) -> Any: ...

class ObjectSpecificationDescriptor:
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    def __get__(self, *args, **kwargs) -> Any: ...

class SpecificationBase:
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    def implementedBy(self, *args, **kwargs) -> Any: ...
    def isOrExtends(self, *args, **kwargs) -> Any: ...
    def providedBy(self, *args, **kwargs) -> Any: ...
    def __call__(self, *args, **kwargs) -> Any: ...

class VerifyingBase(_zope_interface_coptimizations.LookupBase):
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    def adapter_hook(self, *args, **kwargs) -> Any: ...
    def changed(self, *args, **kwargs) -> Any: ...
    def lookup(self, *args, **kwargs) -> Any: ...
    def lookup1(self, *args, **kwargs) -> Any: ...
    def lookupAll(self, *args, **kwargs) -> Any: ...
    def queryAdapter(self, *args, **kwargs) -> Any: ...
    def subscriptions(self, *args, **kwargs) -> Any: ...
