from cabarchive.file import CabFile as CabFile
from cabarchive.parser import CabArchiveParser as CabArchiveParser
from cabarchive.writer import CabArchiveWriter as CabArchiveWriter

class CabArchive(dict):
    set_id: int
    def __init__(self, buf: bytes | None = None, flattern: bool = False) -> None: ...
    def __setitem__(self, key: str, val: CabFile) -> None: ...
    def parse(self, buf: bytes) -> None: ...
    def find_file(self, glob: str) -> CabFile | None: ...
    def find_files(self, glob: str) -> list[CabFile]: ...
    def save(self, compress: bool = False, sort: bool = True) -> bytes: ...
    @property
    def size(self) -> int: ...
