from celery.utils.collections import ConfigurationView
from collections import namedtuple
from typing import Any, Optional

def appstr(app: Any): ...

class Settings(ConfigurationView):
    @property
    def broker_read_url(self): ...
    @property
    def broker_write_url(self): ...
    @property
    def broker_url(self): ...
    @property
    def result_backend(self): ...
    @property
    def task_default_exchange(self): ...
    @property
    def task_default_routing_key(self): ...
    @property
    def timezone(self): ...
    def without_defaults(self): ...
    def value_set_for(self, key: Any): ...
    def find_option(self, name: Any, namespace: str = ...): ...
    def find_value_for_key(self, name: Any, namespace: str = ...): ...
    def get_by_parts(self, *parts: Any): ...
    def finalize(self): ...
    def table(self, with_defaults: bool = ..., censored: bool = ...): ...
    def humanize(self, with_defaults: bool = ..., censored: bool = ...): ...

_settings_info_t = namedtuple('settings_info_t', ['defaults', 'convert', 'key_t', 'mix_error'])

class AppPickler:
    def __call__(self, cls: Any, *args: Any): ...
    def prepare(self, app: Any, **kwargs: Any) -> None: ...
    def build_kwargs(self, *args: Any): ...
    def build_standard_kwargs(self, main: Any, changes: Any, loader: Any, backend: Any, amqp: Any, events: Any, log: Any, control: Any, accept_magic_kwargs: Any, config_source: Optional[Any] = ...): ...
    def construct(self, cls: Any, **kwargs: Any): ...

def filter_hidden_settings(conf: Any): ...
def bugreport(app: Any): ...
def find_app(app: Any, symbol_by_name: Any = ..., imp: Any = ...): ...
