--- /dev/null
+import datetime
+import sys
+
+from dateparser.date import DateDataParser
+
+if sys.version_info >= (3, 8):
+ from typing import Literal, TypedDict
+else:
+ from typing_extensions import Literal, TypedDict
+
+__version__: str
+
+_default_parser: DateDataParser
+
+_Part = Literal["day", "month", "year"]
+_ParserKind = Literal["timestamp", "relative-time", "custom-formats", "absolute-time", "no-spaces-time"]
+
+class _Settings(TypedDict, total=False):
+ DATE_ORDER: str
+ PREFER_LOCALE_DATE_ORDER: bool
+ TIMEZONE: str
+ TO_TIMEZONE: str
+ RETURN_AS_TIMEZONE_AWARE: bool
+ PREFER_DAY_OF_MONTH: Literal["current", "first", "last"]
+ PREFER_DATES_FROM: Literal["current_period", "future", "past"]
+ RELATIVE_BASE: datetime.datetime
+ STRICT_PARSING: bool
+ REQUIRE_PARTS: list[_Part]
+ SKIP_TOKENS: list[str]
+ NORMALIZE: bool
+ RETURN_TIME_AS_PERIOD: bool
+ PARSERS: list[_ParserKind]
+
+def parse(
+ date_string: str,
+ date_formats: list[str] | tuple[str] | set[str] | None = ...,
+ languages: list[str] | tuple[str] | set[str] | None = ...,
+ locales: list[str] | tuple[str] | set[str] | None = ...,
+ region: str | None = ...,
+ settings: _Settings | None = ...,
+) -> datetime.datetime | None: ...