from _typeshed import Incomplete

class ADPersistentSearch:
    connection: Incomplete
    message_id: Incomplete
    base: Incomplete
    scope: Incomplete
    attributes: Incomplete
    controls: Incomplete
    filter: str
    def __init__(self, connection, search_base, search_scope, attributes, streaming, callback) -> None: ...
    def start(self) -> None: ...
    def stop(self, unbind: bool = True) -> None: ...
    def next(self, block: bool = False, timeout=None): ...
    def funnel(self, block: bool = False, timeout=None) -> None: ...
