# isort:skip_file
from datetime import datetime
from pathlib import Path
from typing import Any, Optional

import pandas as pd  # type: ignore

from pullframe import api as api

class PyTables(api.Persist):
    complib: str = ...
    complevel: int = ...
    def __init__(
        self, directory: Path, complib: str = ..., complevel: int = ...
    ) -> None: ...
    @classmethod
    def on(cls: Any, directory: Path) -> "PyTables": ...
    def load(
        self,
        name: str,
        start: Optional[datetime] = ...,
        end: Optional[datetime] = ...,
        include_start: bool = ...,
    ) -> pd.DataFrame: ...
    def save(self, name: str, df: pd.DataFrame) -> None: ...
    def exists(self, name: str) -> bool: ...
    def last_index(self, name: str) -> datetime: ...
    def update(self, name: str, path: Path) -> None: ...
    @classmethod
    def format(cls): ...
    @staticmethod
    def suffix(): ...
    def write(self, name: str, df: pd.DataFrame) -> None: ...
    def dump(self, path: Path, df: pd.DataFrame) -> None: ...

Index = int
