from _typeshed import Incomplete
from collections.abc import Iterator
from typing_extensions import Self

from reportlab.pdfbase.pdfdoc import PDFObject

class PDFPattern(PDFObject):
    __RefOnly__: int
    pattern: Incomplete
    arguments: dict[str, Incomplete]
    def __init__(self, pattern_sequence, **keywordargs) -> None: ...
    def __setitem__(self, item: str, value) -> None: ...
    def __getitem__(self, item: str): ...
    def eval(self, L) -> Iterator[bytes]: ...
    def format(self, document) -> bytes: ...
    def clone(self) -> Self: ...

class PDFPatternIf:
    cond: Incomplete
    thenPart: Incomplete
    elsePart: Incomplete
    def __init__(self, cond, thenPart=[], elsePart=[]) -> None: ...
