from collections.abc import Iterator
from datetime import date, datetime, time
from decimal import Decimal
from typing import Any

ISO_INPUT_FORMATS: Any
FORMAT_SETTINGS: Any

def reset_format_cache() -> None: ...
def iter_format_modules(
    lang: str, format_module_path: list[str] | str | None = ...
) -> Iterator[Any]: ...
def get_format_modules(lang: str | None = ..., reverse: bool = ...) -> list[Any]: ...
def get_format(
    format_type: str, lang: str | None = ..., use_l10n: bool | None = ...
) -> str: ...

get_format_lazy: Any

def date_format(
    value: date | datetime | str,
    format: str | None = ...,
    use_l10n: bool | None = ...,
) -> str: ...
def time_format(
    value: time | datetime | str,
    format: str | None = ...,
    use_l10n: bool | None = ...,
) -> str: ...
def number_format(
    value: Decimal | float | str,
    decimal_pos: int | None = ...,
    use_l10n: bool | None = ...,
    force_grouping: bool = ...,
) -> str: ...
def localize(value: Any, use_l10n: bool | None = ...) -> Any: ...
def localize_input(
    value: datetime | Decimal | float | str | None, default: str | None = ...
) -> str | None: ...
def sanitize_separators(value: Decimal | int | str) -> Decimal | int | str: ...
