from __future__ import annotations
from typing import Any, Protocol, runtime_checkable

@runtime_checkable
class MediaDescriptor(Protocol):
    Aborted: bool
    AsTemplate: bool
    Author: str
    CharacterSet: str
    Comment: str
    ComponentData: Any
    DocumentBaseURL: str
    DocumentTitle: str
    EncryptionData: list[NamedValue]
    FileName: str
    FilterName: str
    FilterFlags: str
    FilterOptions: str
    FilterData: Any
    Hidden: bool
    HierarchicalDocumentName: str
    OutputStream: XOutputStream
    InputStream: XInputStream
    InteractionHandler: XInteractionHandler
    JumpMark: str
    MediaType: str
    OpenFlags: str
    OpenNewView: bool
    Overwrite: bool
    Password: str
    PostData: list[int]
    PickListEntry: bool
    PostString: str
    Preview: bool
    ReadOnly: bool
    StartPresentation: bool
    Referer: str
    RepairPackage: bool
    StatusIndicator: XStatusIndicator
    SuggestedSaveAsDir: str
    SuggestedSaveAsName: str
    ExportDirectory: str
    TemplateName: str
    TemplateRegionName: str
    Unpacked: bool
    URL: str
    Version: int
    ViewData: Any
    ViewId: int
    MacroExecutionMode: int
    UpdateDocMode: int
    ViewControllerName: str
    Frame: XFrame
    LockContentExtraction: bool
    LockExport: bool
    LockPrint: bool
    LockSave: bool
    LockEditDoc: bool
    Replaceable: bool
