from _typeshed import Incomplete
from java import cast as cast
from org.telegram.messenger import DispatchQueue, R as R
from org.telegram.tgnet import TLObject as TLObject, TLRPC as TLRPC
from typing import Any

STAGE_QUEUE: str
GLOBAL_QUEUE: str
CACHE_CLEAR_QUEUE: str
SEARCH_QUEUE: str
PHONE_BOOK_QUEUE: str
THEME_QUEUE: str
EXTERNAL_NETWORK_QUEUE: str
PLUGINS_QUEUE: str

def get_queue_by_name(queue_name: str) -> DispatchQueue | None: ...
def run_on_queue(fn: callable, queue_name: str = ..., delay: int = 0): ...

class RequestCallback(Incomplete):
    def __init__(self, fn: callable) -> None: ...
    def run(self, response: TLObject, error: TLRPC.TL_error): ...

def send_request(request: Any, fn: callable) -> int: ...
def get_last_fragment(): ...
def get_account_instance(): ...
def get_messages_controller(): ...
def get_contacts_controller(): ...
def get_media_data_controller(): ...
def get_connections_manager(): ...
def get_location_controller(): ...
def get_notifications_controller(): ...
def get_messages_storage(): ...
def get_send_messages_helper(): ...
def get_file_loader(): ...
def get_secret_chat_helper(): ...
def get_download_controller(): ...
def get_notifications_settings(): ...
def get_notification_center(): ...
def get_media_controller(): ...
def get_user_config(): ...
def send_message(params): ...

class NotificationCenterDelegate(Incomplete):
    def __init__(self) -> None: ...
    def didReceivedNotification(self, id: int, account: int, args: None): ...
