from .hash import uSwidHash as uSwidHash, uSwidHashAlg as uSwidHashAlg
from .problem import uSwidProblem as uSwidProblem
from _typeshed import Incomplete
from typing import List, Optional

class uSwidPayload:
    name: Incomplete
    size: Incomplete
    def __init__(self, name: Optional[str] = ..., size: Optional[int] = ...) -> None: ...
    def add_hash(self, ihash: uSwidHash) -> None: ...
    def remove_hash(self, alg_id: uSwidHashAlg) -> None: ...
    @property
    def hashes(self) -> List[uSwidHash]: ...
    def ensure_from_filename(self, fn: str) -> None: ...
    def problems(self) -> List[uSwidProblem]: ...
