import cmd as _cmd
from celery.bin.base import Command
from typing import Any, Optional

class Spec:
    args: Any = ...
    returns: Any = ...
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...
    def coerce(self, index: Any, value: Any): ...
    def str_args_to_python(self, arglist: Any): ...
    def format_response(self, response: Any): ...
    def format_arg(self, name: Any, type: Any, default_value: Optional[Any] = ...): ...
    def format_signature(self): ...

class AMQShell(_cmd.Cmd):
    conn: Any = ...
    chan: Any = ...
    prompt_fmt: str = ...
    identchars: str = ...
    needs_reconnect: bool = ...
    counter: int = ...
    inc_counter: Any = ...
    builtins: Any = ...
    amqp: Any = ...
    connect: Any = ...
    silent: Any = ...
    out: Any = ...
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...
    def note(self, m: Any) -> None: ...
    def say(self, m: Any) -> None: ...
    def get_amqp_api_command(self, cmd: Any, arglist: Any): ...
    def do_exit(self, *args: Any) -> None: ...
    def display_command_help(self, cmd: Any, short: bool = ...) -> None: ...
    def do_help(self, *args: Any) -> None: ...
    def default(self, line: Any) -> None: ...
    def get_names(self): ...
    def completenames(self, text: Any, *ignored: Any): ...
    def dispatch(self, cmd: Any, arglist: Any): ...
    def parseline(self, parts: Any): ...
    lastcmd: Any = ...
    def onecmd(self, line: Any): ...
    def respond(self, retval: Any) -> None: ...
    @property
    def prompt(self): ...

class AMQPAdmin:
    Shell: Any = ...
    app: Any = ...
    out: Any = ...
    silent: Any = ...
    args: Any = ...
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...
    def connect(self, conn: Optional[Any] = ...): ...
    def run(self): ...
    def note(self, m: Any) -> None: ...

class amqp(Command):
    def run(self, *args: Any, **options: Any): ...
