"""
This type stub file was generated by pyright.
"""

import click
from typing import Any, Callable, TYPE_CHECKING, TypeVar

"""A script which is run when the Streamlit package is executed."""
if TYPE_CHECKING:
    ...
ACCEPTED_FILE_EXTENSIONS = ...
LOG_LEVELS = ...
F = TypeVar("F", bound=Callable[..., Any])
def configurator_options(func: F) -> F:
    """Decorator that adds config param keys to click dynamically."""
    ...

@click.group(context_settings={ "auto_envvar_prefix": "STREAMLIT" })
@click.option("--log_level", show_default=True, type=click.Choice(LOG_LEVELS))
@click.version_option(prog_name="Streamlit")
def main(log_level=...): # -> None:
    """Try out a demo with:

        $ streamlit hello

    Or use the line below to run your own script:

        $ streamlit run your_script.py
    """
    ...

@main.command("help")
def help(): # -> None:
    """Print this help message."""
    ...

@main.command("version")
def main_version(): # -> None:
    """Print Streamlit's version number."""
    ...

@main.command("docs")
def main_docs(): # -> None:
    """Show help in browser."""
    ...

@main.command("hello")
@configurator_options
def main_hello(**kwargs): # -> None:
    """Runs the Hello World script."""
    ...

@main.command("run")
@configurator_options
@click.argument("target", required=True, envvar="STREAMLIT_RUN_TARGET")
@click.argument("args", nargs=-1)
def main_run(target: str, args=..., **kwargs): # -> None:
    """Run a Python script, piping stderr to Streamlit.

    The script can be local or it can be an url. In the latter case, Streamlit
    will download the script to a temporary file and runs this file.

    """
    ...

@main.group("cache")
def cache(): # -> None:
    """Manage the Streamlit cache."""
    ...

@cache.command("clear")
def cache_clear(): # -> None:
    """Clear st.cache_data and st.cache_resource caches."""
    ...

@main.group("config")
def config(): # -> None:
    """Manage Streamlit's config settings."""
    ...

@config.command("show")
@configurator_options
def config_show(**kwargs): # -> None:
    """Show all of Streamlit's config settings."""
    ...

@main.group("activate", invoke_without_command=True)
@click.pass_context
def activate(ctx): # -> None:
    """Activate Streamlit by entering your email."""
    ...

@activate.command("reset")
def activate_reset(): # -> None:
    """Reset Activation Credentials."""
    ...

@main.group("test", hidden=True)
def test(): # -> None:
    """Internal-only commands used for testing.

    These commands are not included in the output of `streamlit help`.
    """
    ...

@test.command("prog_name")
def test_prog_name(): # -> None:
    """Assert that the program name is set to `streamlit test`.

    This is used by our cli-smoke-tests to verify that the program name is set
    to `streamlit ...` whether the streamlit binary is invoked directly or via
    `python -m streamlit ...`.
    """
    ...

@main.command("init")
@click.argument("directory", required=False)
def main_init(directory: str | None = ...): # -> None:
    """Initialize a new Streamlit project.

    If DIRECTORY is specified, create it and initialize the project there.
    Otherwise use the current directory.
    """
    ...

if __name__ == "__main__":
    ...
