from typing import Optional

from fastomit.types import ListStr

def reset_always(): ...
def always_omit(targets: ListStr): ...
def globally_hidden() -> ListStr: ...
def hide(target: str) -> str: ...

class Omitter:
    omissions: list[str]

    def __init__(self, omissions: Optional[ListStr] = None) -> None: ...  # noqa: UP007
    def omit(self, target: dict) -> dict: ...
    def omit_recurse(self, target: list, do: Optional[bool] = True) -> list: ...  # noqa: UP007, FBT002
