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

@runtime_checkable
class PageProperties(Protocol):
    BackColor: Color
    BackGraphicURL: str
    BackGraphicFilter: str
    BackGraphicLocation: GraphicLocation
    BackTransparent: bool
    LeftMargin: int
    RightMargin: int
    TopMargin: int
    BottomMargin: int
    LeftBorder: BorderLine
    RightBorder: BorderLine
    TopBorder: BorderLine
    BottomBorder: BorderLine
    LeftBorderDistance: int
    RightBorderDistance: int
    TopBorderDistance: int
    BottomBorderDistance: int
    ShadowFormat: ShadowFormat
    IsLandscape: bool
    NumberingType: int
    PageStyleLayout: PageStyleLayout
    PrinterPaperTray: str
    RegisterModeActive: bool
    RegisterParagraphStyle: str
    Size: Size
    Width: int
    Height: int
    TextColumns: XTextColumns
    UserDefinedAttributes: XNameContainer
    HeaderBackColor: Color
    HeaderBackGraphicURL: str
    HeaderBackGraphicFilter: str
    HeaderBackGraphicLocation: GraphicLocation
    HeaderLeftMargin: int
    HeaderRightMargin: int
    HeaderBackTransparent: bool
    HeaderLeftBorder: BorderLine
    HeaderRightBorder: BorderLine
    HeaderTopBorder: BorderLine
    HeaderBottomBorder: BorderLine
    HeaderLeftBorderDistance: int
    HeaderRightBorderDistance: int
    HeaderTopBorderDistance: int
    HeaderBottomBorderDistance: int
    HeaderShadowFormat: ShadowFormat
    HeaderBodyDistance: int
    HeaderIsShared: bool
    FirstIsShared: bool
    HeaderHeight: int
    HeaderIsDynamicHeight: bool
    HeaderIsOn: bool
    HeaderText: XText
    HeaderTextLeft: XText
    HeaderTextRight: XText
    FooterBackColor: Color
    FooterBackGraphicURL: str
    FooterBackGraphicFilter: str
    FooterBackGraphicLocation: GraphicLocation
    FooterLeftMargin: int
    FooterRightMargin: int
    FooterBackTransparent: bool
    FooterLeftBorder: BorderLine
    FooterRightBorder: BorderLine
    FooterTopBorder: BorderLine
    FooterBottomBorder: BorderLine
    FooterLeftBorderDistance: int
    FooterRightBorderDistance: int
    FooterTopBorderDistance: int
    FooterBottomBorderDistance: int
    FooterShadowFormat: ShadowFormat
    FooterBodyDistance: int
    FooterIsDynamicHeight: bool
    FooterIsShared: bool
    FooterHeight: int
    FooterIsOn: bool
    FooterText: XText
    FooterTextLeft: XText
    FooterTextRight: XText
    FootnoteHeight: int
    FootnoteLineWeight: int
    FootnoteLineStyle: int
    FootnoteLineColor: Color
    FootnoteLineRelativeWidth: int
    FootnoteLineAdjust: int
    FootnoteLineTextDistance: int
    FootnoteLineDistance: int
    WritingMode: int
    GridMode: int
    GridColor: Color
    GridLines: int
    GridBaseHeight: int
    GridRubyHeight: int
    GridRubyBelow: bool
    GridPrint: bool
    GridDisplay: bool
    HeaderDynamicSpacing: bool
    FooterDynamicSpacing: bool
    BorderDistance: int
    FooterBorderDistance: int
    HeaderBorderDistance: int
    BackGraphic: XGraphic
    HeaderBackGraphic: XGraphic
    FooterBackGraphic: XGraphic
    GutterMargin: int
    BackgroundFullSize: bool
    RtlGutter: bool
