# Allowlist for `python -m mypy.stubtest processkit` (run with --ignore-disjoint-bases).
#
# Every entry below suppresses a finding that is an irreducible PyO3 / stub-only
# convention, NOT a real stub bug. stubtest still checks method signature SHAPE
# (parameter names/kinds/defaults) and member existence (both directions) across
# the whole surface; return / property / attribute *types* carry no runtime
# annotations on a compiled module, so those are pinned separately by mypy in
# tests/_typing_pins.py. Keep this list minimal; an unused entry fails CI
# (--ignore-unused-allowlist is NOT passed), so a stale suppression surfaces.

# --- PyO3 constructor convention -------------------------------------------
# PyO3 builds instances via __new__ (the generated runtime __init__ takes no
# args); the hand-written stub uses the conventional __init__ form. mypy
# type-checks construction against that __init__ at every call site, and the test
# suite constructs all four with real arguments, so the signatures are covered —
# stubtest just sees the __new__/__init__ split as a mismatch.
processkit._processkit.CliClient.__init__
processkit._processkit.CliClient.__new__
processkit._processkit.Command.__init__
processkit._processkit.Command.__new__
processkit._processkit.ProcessGroup.__init__
processkit._processkit.ProcessGroup.__new__
processkit._processkit.Supervisor.__init__
processkit._processkit.Supervisor.__new__

# --- type aliases -----------------------------------------------------------
# Every module-level `Literal` type-alias exported from `_types` (SignalName,
# RetryIf, LineTerminatorName, Priority, ...) hits the same stubtest false
# positive: it flags the runtime `Literal` alias itself ("is not a Union")
# instead of seeing it as the ordinary exported object it is. (StrPath, a plain
# union alias, is not flagged, so no entry. Read-only Literals like
# `SupervisionOutcome.stopped` are inlined at the return type, so they need no
# alias and no entry.) Any new `Literal` alias added to `_types.py` needs the
# same treatment here.
processkit._types.SignalName
processkit._types.RetryIf
processkit._types.LineTerminatorName
processkit._types.Priority

# --- compiled-module __all__ ------------------------------------------------
# PyO3 emits a module-level __all__ on the extension; the stub does not redeclare
# it. The public surface is re-exported and __all__-listed by processkit/__init__.py
# (and that __all__ is guarded by tests/test_api_surface.py).
processkit._processkit.__all__
