type ScreenConfigurations = Obj & ScreenConfiguration[] & { Default: ScreenConfiguration; [index: string]: ScreenConfiguration; }; type ScreenConfiguration = Obj & { ScreenContents: ScreenContents; 'ViewButtonScreens 2': ViewButtonScreens; }; type ScreenNumber = number; type ScreenContentKey = `ScreenContent ${ScreenNumber}`; type ScreenContents = Obj & Record; type ScreenContent = Obj; type WindowBaseProps = ObjProps & { appearance: Obj; minH: number; minW: number; note: string; x: number; y: number; w: number; h: number; display: number; snapToBlockSize: boolean; presetPoolType: number; }; interface WindowBase extends Obj, WindowBaseProps { WindowAppearance: WindowAppearance; WindowScrollPositions: WindowScrollPositions; } type WindowAppearance = Obj; type WindowScrollPositions = Obj & { /** * A string with 2 integer numbers separated by a comma. * The first number is the vertical scroll position. * The second number is the vertical cursor position. */ scrollV: string; /** * A string with 2 integer numbers separated by a comma. * The first number is the horizontal scroll position. * The second number is the horizontal cursor position. */ scrollH: string; }; interface WindowLayoutView extends WindowBase { name: 'WindowLayoutView'; // LayoutViewSettings: LayoutViewSettings; // Sometimes the name could be "LayoutViewSettings 1", but it should be always first [1]: LayoutViewSettings; } interface LayoutViewSettingsProps { Layout: Layout; FitType: 'Elements' | 'Canvas' | 'Both'; ShowTitleBar: boolean; AutoFit: boolean; PaddingLeft: number; PaddingRight: number; PaddingBottom: number; PaddingTop: number; } type LayoutViewSettings = Obj & LayoutViewSettingsProps; type ViewButtonScreenKey = `ViewButtonScreen ${number}`; type ViewButtonScreens = Obj & Record; type ViewButtonScreen = Obj; type ViewButton = Obj; interface WindowEncoderBar extends WindowBase { name: 'WindowEncoderBar'; EncoderBarWindowSettings: EncoderBarWindowSettings; } interface EncoderBarWindowSettingsProps { fadeEncoder: boolean; } type EncoderBarWindowSettings = Obj & EncoderBarWindowSettingsProps;