from _typeshed import StrOrBytesPath, StrPath, Unused
from collections.abc import MutableSequence, Sequence
from subprocess import _ENV
from typing import Literal, overload

@overload
def spawn(
    cmd: Sequence[StrOrBytesPath],
    search_path: Literal[False],
    verbose: Unused = False,
    dry_run: bool = False,
    env: _ENV | None = None,
) -> None: ...
@overload
def spawn(
    cmd: MutableSequence[bytes | StrPath],
    search_path: Literal[True] = True,
    verbose: Unused = False,
    dry_run: bool = False,
    env: _ENV | None = None,
) -> None: ...
def find_executable(executable: str, path: str | None = None) -> str | None: ...
