from typing import Any, overload

class File:
    has_multiple_object_versions: bool
    @overload
    def __init__(self, arg0: str) -> None: ...
    @overload
    def __init__(self, arg0: str, arg1: str) -> None: ...
    def parse_format(self, arg0: str) -> None: ...

class Header:
    has_multiple_object_versions: bool
    def __init__(self) -> None: ...
    def box(self, *args, **kwargs) -> Any: ...
    def get(self, key: str, default: str = ...) -> str: ...
    def set(self, key: str, value: str) -> None: ...

class Reader:
    @overload
    def __init__(self, arg0: str) -> None: ...
    @overload
    def __init__(self, arg0: str, arg1) -> None: ...
    def close(self) -> None: ...
    def eof(self) -> bool: ...
    def header(self) -> Header: ...

class Writer:
    @overload
    def __init__(self, arg0: str) -> None: ...
    @overload
    def __init__(self, arg0: File) -> None: ...
    @overload
    def __init__(self, arg0: str, arg1: Header) -> None: ...
    @overload
    def __init__(self, arg0: File, arg1: Header) -> None: ...
    def close(self) -> int: ...
