import sys from _typeshed import StrOrBytesPath from collections.abc import Callable, Sequence from typing import SupportsIndex if sys.platform != "win32": def cloexec_pipe() -> tuple[int, int]: ... def fork_exec( args: Sequence[StrOrBytesPath] | None, executable_list: Sequence[bytes], close_fds: bool, pass_fds: tuple[int, ...], cwd: str, env: Sequence[bytes] | None, p2cread: int, p2cwrite: int, c2pread: int, c2pwrite: int, errread: int, errwrite: int, errpipe_read: int, errpipe_write: int, restore_signals: int, call_setsid: int, pgid_to_set: int, gid: SupportsIndex | None, extra_groups: list[int] | None, uid: SupportsIndex | None, child_umask: int, preexec_fn: Callable[[], None], allow_vfork: bool, /, ) -> int: ...