declare class DzViewportMgr extends QWidget {

    /* 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;
    NO_PANES: number;
    SINGLE_PANE: number;
    LEFT_RIGHT: number;
    TOP_BOTTOM: number;
    LEFT2_RIGHT: number;
    LEFT3_RIGHT: number;
    LEFT_RIGHT2: number;
    LEFT_RIGHT3: number;
    TOP2_BOTTOM: number;
    TOP3_BOTTOM: number;
    TOP_BOTTOM2: number;
    TOP_BOTTOM3: number;
    FOUR_PANE: number;
    NUM_LAYOUTS: number;
    QDOff: number;
    QDWire: number;
    QDSmooth: number;
    NoOperation: number;
    OrbitCamera: number;
    RotateCamera: number;
    PanCamera: number;
    DollyCamera: number;
    BankCamera: number;
    ZoomDCamera: number;
    ZoomFCamera: number;
    Node: number;
    SkeletonThenNode: number;
    Skeleton: number;
    Nested: number;
    Flat: number;
    NoAccel: number;
    LeftClick: number;
    RightClick: number;
    MidClick: number;
    AltLeftClick: number;
    AltRightClick: number;
    AltMidClick: number;
    CtrlLeftClick: number;
    CtrlRightClick: number;
    CtrlMidClick: number;
    ShiftLeftClick: number;
    ShiftRightClick: number;
    ShiftMidClick: number;
    CtrlAltLeftClick: number;
    CtrlAltRightClick: number;
    CtrlAltMidClick: number;
    CtrlShiftLeftClick: number;
    CtrlShiftRightClick: number;
    CtrlShiftMidClick: number;
    AltShiftLeftClick: number;
    AltShiftRightClick: number;
    AltShiftMidClick: number;
    CtrlAltShiftLeftClick: number;
    CtrlAltShiftRightClick: number;
    CtrlAltShiftMidClick: number;
    NoModifier: number;
    Alt: number;
    Shift: number;
    Ctrl: number;
    CtrlAlt: number;
    CtrlShift: number;
    CtrlAltShift: number;
    ShiftAlt: 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 ;
    toolListChanged(): void;
    activeToolSwitched(): void;
    activeViewSwitched(): void;
    activeViewResized(): void;
    propagateBackgroundColorChanged(onOff: boolean): void;
    viewLayoutChanged(): void;

    // contextMenuAboutToShow(menu: DzMenu, view: Dz3DViewport, pos: QPoint): void;
    contextMenuAboutToShow: ISignalT<DzMenu, Dz3DViewport, QPoint>;

    viewportCameraListChanged(): void;
    redrawsLocked(onOff: boolean): void;
    manipStarted(): void;
    manipFinished(): void;
    quickDrawModeChanged(mode: number): void;
    subDManipulationChanged(obj: boolean): void;
    accelChanged(operation: number, accel: number): void;
    acceleratorsChanged(): void;
    invertMouseWheelChanged(onOff: boolean): void;
    nodeClickModeChanged(obj: number): void;
    regionClickModeChanged(obj: number): void;
    graftDrawingChanged(): void;
    manipulationBindingChanged(obj: boolean): void;
    activeToolDrawnDataChanged(): any; // TODO ;
    acitve3DViewCurrentDimensionsChanged(): any; // TODO ;
    drawElementsListChanged(): any; // TODO ;
    setLayout(val: number): void;
    resetViewCameras(): void;
    setActiveViewport(activeView: DzViewport): void;
    setPropagateBackgroundColor(onOff: boolean): void;
    repaintActive3DViewport(): void;
    setActiveTool(tool: DzViewTool): void;
    setActiveTool(which: number): void;
    setActiveTool(tool: DzViewTool): void;
    setActiveTool(which: number): void;
    activateNextTool(): void;
    activatePrevTool(): void;
    setViewRatios(hSingle: number, h1: number, h2: number, vSingle: number, v1: number, v2: number): void;
    setMouseBtnAccelerator(operation: number, accel: number): void;
    validateMouseBtnAccelerator(accel: number): boolean;
    validateMouseWheelAccelerator(accel: number): boolean;
    setInvertMouseWheel(onOff: boolean): void;
    setNodeClickMode(mode: number): void;
    getNodeClickMode(): number;
    setRegionClickMode(mode: number): void;
    getRegionClickMode(): number;
    getNumViews(): number;
    getView(which: number): DzView;
    getViewIcon(): any; // TODO ;
    getViewDescription(): any; // TODO ;
    getNumUserDrawStyles(): number;
    getUserDrawStyle(which: number): DzUserDrawStyle;
    findUserDrawStyle(name: string): DzUserDrawStyle; // TODO ;
    getActiveViewportDimensionsController(): any; // TODO ;
    getActiveViewport(): DzViewport;
    getNumViewports(): any; // TODO ;
    getNumDefaultViewports(): any; // TODO ;
    getNumCustomViewports(): any; // TODO ;
    getViewport(which: number): DzViewport;
    getDefaultViewport(): any; // TODO ;
    getCustomViewport(): any; // TODO ;
    getNumVisibleViewports(): number;
    getNumVisibleDefaultViewports(): any; // TODO ;
    getNumVisibleCustomViewports(): any; // TODO ;
    getLayout(): number;
    getPropagateBackgroundColor(): boolean;
    getNumTools(): number;
    getTool(i: number): DzViewTool;
    getActiveTool(): DzViewTool;
    findTool(className: QString): DzViewTool;
    getOverrideTool(): any; // TODO ;
    setOverrideTool(): any; // TODO ;
    clearOverrideTool(): any; // TODO ;
    getNumViewCameras(): number;
    getViewCamera(type: number): DzCamera;
    getViewCamera(which: number): DzCamera;
    getMouseBtnAcceleratorString(accel: number): QString;
    getMouseBtnAcceleratorString(operation: number): QString;
    getMouseBtnAccelerator(operation: number): number;
    getMouseBtnAccelerator(button: number, modifiers: number): number;
    getMouseBtnAccelerator(str: QString): number;
    getMouseBtnAccelerator(mouseBtn: number, ctrl: boolean, alt: boolean, shift: boolean): number;
    getMouseBtnAccelerator(operation: number): number;
    getMouseBtnAccelerator(button: number, modifiers: number): number;
    getMouseBtnAccelerator(str: QString): number;
    getMouseBtnAccelerator(mouseBtn: number, ctrl: boolean, alt: boolean, shift: boolean): number;
    getMouseBtnAccelerator(operation: number): number;
    getMouseBtnAccelerator(button: number, modifiers: number): number;
    getMouseBtnAccelerator(str: QString): number;
    getMouseBtnAccelerator(mouseBtn: number, ctrl: boolean, alt: boolean, shift: boolean): number;
    getMouseBtnAccelerator(operation: number): number;
    getMouseBtnAccelerator(button: number, modifiers: number): number;
    getMouseBtnAccelerator(str: QString): number;
    getMouseBtnAccelerator(mouseBtn: number, ctrl: boolean, alt: boolean, shift: boolean): number;
    getOperation(accel: number): number;
    getInvertMouseWheel(): boolean;
    getMouseModifierString(accel: number): QString;
    getMouseModifier(modifiers: number): number;
    getMouseModifier(ctrl: boolean, alt: boolean, shift: boolean): number;
    getMouseModifier(str: QString): number;
    getMouseModifier(modifiers: number): number;
    getMouseModifier(ctrl: boolean, alt: boolean, shift: boolean): number;
    getMouseModifier(str: QString): number;
    getMouseModifier(modifiers: number): number;
    getMouseModifier(ctrl: boolean, alt: boolean, shift: boolean): number;
    getMouseModifier(str: QString): number;
    setUsePerPixelLighting(): any; // TODO ;
    getUsePerPixelLighting(): any; // TODO ;
    applyStyleColors(): any; // TODO ;
}