declare class DzMainWindow extends QMainWindow {

    /* Properties */
    modal: boolean;
    windowModality: number;
    geometry: QObject;
    frameGeometry: QObject;
    normalGeometry: QObject;
    pos: QObject;
    frameSize: QObject;
    size: QObject;
    rect: QObject;
    childrenRect: QObject;
    childrenRegion: QObject;
    minimumSize: QObject;
    maximumSize: QObject;
    minimumWidth: number;
    minimumHeight: number;
    maximumWidth: number;
    maximumHeight: number;
    sizeIncrement: QObject;
    baseSize: QObject;
    cursor: QObject;
    mouseTracking: boolean;
    isActiveWindow: boolean;
    focusPolicy: number;
    focus: boolean;
    contextMenuPolicy: number;
    updatesEnabled: boolean;
    visible: boolean;
    minimized: boolean;
    maximized: boolean;
    fullScreen: boolean;
    sizeHint: QObject;

    acceptDrops: boolean;
    windowTitle: string;
    windowIcon: QObject;
    windowIconText: string;
    windowOpacity: number;
    windowModified: boolean;
    accessibleName: string;
    accessibleDescription: string;
    layoutDirection: number;
    autoFillBackground: boolean;
    styleSheet: string;
    locale: QObject;
    windowFilePath: string;
    inputMethodHints: number;
    //iconSize: QObject;
    //toolButtonStyle: number;
    animated: boolean;
    //documentMode: boolean;
    //tabShape: number;
    dockNestingEnabled: boolean;
    //dockOptions: number;
    //unifiedTitleAndToolBarOnMac: boolean;
    alwaysOnTop: boolean;
    toolTipsEnabled: boolean;
    AnimatedDocks: number;
    AllowNestedDocks: number;
    AllowTabbedDocks: number;
    ForceTabbedDocks: number;
    VerticalTabs: number;

    /* Methods */
    customContextMenuRequested(): any; // TODO ;
    setEnabled(): any; // TODO ;
    setDisabled(): any; // TODO ;
    setWindowModified(): any; // TODO ;
    setWindowTitle(): any; // TODO ;
    setStyleSheet(): any; // TODO ;
    setFocus(): any; // TODO ;
    update(): any; // TODO ;
    repaint(): any; // TODO ;
    setVisible(): any; // TODO ;
    setHidden(): any; // TODO ;
    show(): any; // TODO ;
    hide(): any; // TODO ;
    setShown(): any; // TODO ;
    showMinimized(): any; // TODO ;
    showMaximized(): any; // TODO ;
    showFullScreen(): any; // TODO ;
    showNormal(): any; // TODO ;
    close(): any; // TODO ;
    raise(): any; // TODO ;
    lower(): any; // TODO ;
    updateMicroFocus(): any; // TODO ;
    started(): void;
    aboutToClose(): void;
    alwaysOnTopChanged(onOff: boolean): void;
    uiLockedChanged(): void;
    doDirectoryDialog(caption: QString, dir: QString): boolean;
    doDirectoryDialog(caption: QString, dir: QString): boolean;
    doFileDialog(open: boolean, title: QString, startWith: QString): boolean;
    doFileDialog(open: boolean, title: QString, startWith: QString): boolean;
    doFileDialog(open: boolean, title: QString, startWith: QString): boolean;
    doOpenFilesDialog(title: QString, startWith: QString): boolean;
    doOpenFilesDialog(title: QString, startWith: QString): boolean;
    doOpenFilesDialog(title: QString, startWith: QString): boolean;
    doFileDialog(open: boolean, title: QString, startWith: QString): boolean;
    doFileDialog(open: boolean, title: QString, startWith: QString): boolean;
    doFileDialog(open: boolean, title: QString, startWith: QString): boolean;
    doOpenFilesDialog(title: QString, startWith: QString): boolean;
    doOpenFilesDialog(title: QString, startWith: QString): boolean;
    doOpenFilesDialog(title: QString, startWith: QString): boolean;
    displayPrompt(msg: QString, millisec: number): void;
    displayPrompt(msg: QString, millisec: number): void;
    removePrompt(): void;
    repaintActive3DViewport(): void;
    doImageDialog(open: boolean, filename: QString, parent: QWidget): boolean;
    doImageDialog(open: boolean, filename: QString, parent: QWidget): boolean;
    doImageDialog(open: boolean, filename: QString, parent: QWidget): boolean;
    doTextureFolderDialog(filename: QString, parent: QWidget): boolean;
    doTextureFolderDialog(filename: QString, parent: QWidget): boolean;
    doTextureFolderDialog(filename: QString, parent: QWidget): boolean;
    doVideoClipSaveDialog(filename: QString, parent: QWidget): boolean;
    doVideoClipSaveDialog(filename: QString, parent: QWidget): boolean;
    doVideoClipSaveDialog(filename: QString, parent: QWidget): boolean;
    doAudioClipOpenDialog(filename: QString, parent: QWidget): boolean;
    doAudioClipOpenDialog(filename: QString, parent: QWidget): boolean;
    doAudioClipOpenDialog(filename: QString, parent: QWidget): boolean;
    doFileOpen(parent: QWidget): boolean;
    doFileOpen(parent: QWidget): boolean;
    doFileMerge(parent: QWidget): boolean;
    doFileMerge(parent: QWidget): boolean;
    doFileSave(parent: QWidget): boolean;
    doFileSave(parent: QWidget): boolean;
    doFileSaveAs(finalFileName: QString, parent: QWidget, startWith: QString): boolean;
    doFileSaveAs(parent: QWidget, startWith: QString): boolean;
    doFileSaveAs(finalFileName: QString, parent: QWidget, startWith: QString): boolean;
    doFileSaveAs(parent: QWidget, startWith: QString): boolean;
    doFileSaveAs(finalFileName: QString, parent: QWidget, startWith: QString): boolean;
    doFileSaveAs(parent: QWidget, startWith: QString): boolean;
    doFileSaveAs(finalFileName: QString, parent: QWidget, startWith: QString): boolean;
    doFileSaveAs(parent: QWidget, startWith: QString): boolean;
    doFileSaveAs(finalFileName: QString, parent: QWidget, startWith: QString): boolean;
    doFileSaveAs(parent: QWidget, startWith: QString): boolean;
    doFileSaveAs(finalFileName: QString, parent: QWidget, startWith: QString): boolean;
    doFileSaveAs(parent: QWidget, startWith: QString): boolean;
    doDAZSave(parent: QWidget): boolean;
    doDAZSave(parent: QWidget): boolean;
    doDAZSaveAs(finalFileName: QString, parent: QWidget, startWith: QString): boolean;
    doDAZSaveAs(parent: QWidget, startWith: QString): boolean;
    doDAZSaveAs(finalFileName: QString, parent: QWidget, startWith: QString): boolean;
    doDAZSaveAs(parent: QWidget, startWith: QString): boolean;
    doDAZSaveAs(finalFileName: QString, parent: QWidget, startWith: QString): boolean;
    doDAZSaveAs(parent: QWidget, startWith: QString): boolean;
    doDAZSaveAs(finalFileName: QString, parent: QWidget, startWith: QString): boolean;
    doDAZSaveAs(parent: QWidget, startWith: QString): boolean;
    doDAZSaveAs(finalFileName: QString, parent: QWidget, startWith: QString): boolean;
    doDAZSaveAs(parent: QWidget, startWith: QString): boolean;
    doDAZSaveAs(finalFileName: QString, parent: QWidget, startWith: QString): boolean;
    doDAZSaveAs(parent: QWidget, startWith: QString): boolean;
    doFileImport(parent: QWidget): boolean;
    doFileImport(parent: QWidget): boolean;
    doGeometryImport(shape: DzShape, parent: QWidget): boolean;
    doGeometryImport(shape: DzShape, parent: QWidget): boolean;
    doFileExport(parent: QWidget): boolean;
    doFileExport(parent: QWidget): boolean;
    doImageOpen(parent: QWidget): QImage;
    doImageOpen(parent: QWidget): QImage;
    doImageSaveAs(image: QImage, filename: QString, parent: QWidget): boolean;
    doImageSaveAs(image: QImage, parent: QWidget): boolean;
    doImageSaveAs(image: QImage, filename: QString, parent: QWidget): boolean;
    doImageSaveAs(image: QImage, parent: QWidget): boolean;
    doImageSaveAs(image: QImage, filename: QString, parent: QWidget): boolean;
    doImageSaveAs(image: QImage, parent: QWidget): boolean;
    doImageSaveAs(image: QImage, filename: QString, parent: QWidget): boolean;
    doImageSaveAs(image: QImage, parent: QWidget): boolean;
    doVideoClipSaveAs(clip: DzVideoClip, parent: QWidget): boolean;
    doVideoClipSaveAs(clip: DzVideoClip, parent: QWidget): boolean;
    doNewFile(): boolean;
    askSaveChanges(): boolean;
    askTurnOffLimits(): boolean;
    checkExistingFile(name: QString): boolean;
    goFullScreen(): void;
    exitFullScreen(): void;
    isUILocked(): boolean;
    restoreUILockState(): void;
    setUILocked(onOff: boolean, storeSetting: boolean): void;
    setUILocked(onOff: boolean, storeSetting: boolean): void;
    clearUIPopUp(): void;
    getUIPopUp(): DzUIPopUpWgt;
    showUIPopUpWgt(filename: QString, posWgt: QWidget): DzUIPopUpWgt;
    showUIPopUpWgt(filename: QString, posWgt: QWidget): DzUIPopUpWgt;
    toggleUIPopUpWgt(filename: QString, posWgt: QWidget): DzUIPopUpWgt;
    toggleUIPopUpWgt(filename: QString, posWgt: QWidget): DzUIPopUpWgt;
    positionUIPopUp(posWgt: QWidget): void;
    getTopDockArea(): DzDockArea;
    getBottomDockArea(): DzDockArea;
    getLeftDockArea(): DzDockArea;
    getRightDockArea(): DzDockArea;
    getCenterDockArea(): any; // TODO ;
    dockArea(pos: QPoint): DzDockArea;
    getViewportMgr(): DzViewportMgr;
    getActionMgr(): DzActionMgr;
    getPaneMgr(): DzPaneMgr;
    getInteractiveLessonMgr(): any; // TODO ;
    showHomeDlg(): any; // TODO ;
}