from collections.abc import ( Callable, Hashable, Mapping, Sequence, ) from re import Pattern from typing import ( Any, Literal, ) from pandas.core.frame import DataFrame from pandas._libs.lib import _NoDefaultDoNotUse from pandas._typing import ( DtypeBackend, FilePath, HashableT1, HashableT2, HashableT3, HashableT4, HashableT5, HTMLFlavors, ReadBuffer, StorageOptions, ) def read_html( io: FilePath | ReadBuffer[str], *, match: str | Pattern = ..., flavor: HTMLFlavors | Sequence[HTMLFlavors] | None = ..., header: int | Sequence[int] | None = ..., index_col: int | Sequence[int] | list[HashableT1] | None = ..., skiprows: int | Sequence[int] | slice | None = ..., attrs: dict[str, str] | None = ..., parse_dates: ( bool | Sequence[int] | list[HashableT2] # Cannot be Sequence[Hashable] to prevent str | Sequence[Sequence[Hashable]] | dict[str, Sequence[int]] | dict[str, list[HashableT3]] ) = ..., thousands: str = ..., encoding: str | None = ..., decimal: str = ..., converters: Mapping[int | HashableT4, Callable[[str], Any]] | None = ..., na_values: ( str | list[str] | dict[HashableT5, str] | dict[HashableT5, list[str]] | None ) = ..., keep_default_na: bool = ..., displayed_only: bool = ..., extract_links: Literal["header", "footer", "body", "all"] | None = ..., dtype_backend: DtypeBackend | _NoDefaultDoNotUse = ..., storage_options: StorageOptions = ..., ) -> list[DataFrame]: ...