declare class QApplication extends QCoreApplication {

    /* Properties */

    /* Methods */
    aboutQt(): void;
    aboutToReleaseGpuResources(): void;
    aboutToUseGpuResources(): void;
    activeModalWidget(): QWidget;
    activePopupWidget(): QWidget;
    activeWindow(): QWidget;
    alert(widget: QWidget, duration: number): void;
    allWidgets(): QWidget[];
    autoMaximizeThreshold(): number;
    autoSipEnabled(): boolean;
    beep(): void;
    changeOverrideCursor(obj: QCursor): void;
    clipboard(): QClipboard;
    closeAllWindows(): void;
    colorSpec(): number;
    commitData(sm: QSessionManager): void;
    commitDataRequest(sessionManager: QSessionManager): void;
    cursorFlashTime(): number;
    desktop(): QDesktopWidget;
    desktopSettingsAware(): boolean;
    doubleClickInterval(): number;
    focusChanged(old: QWidget, now: QWidget): void;
    focusWidget(): QWidget;
    font(): QFont;
    font(obj: QWidget): QFont;
    font(className: string): QFont;
    font(): QFont;
    font(obj: QWidget): QFont;
    font(className: string): QFont;
    font(): QFont;
    font(obj: QWidget): QFont;
    font(className: string): QFont;
    fontDatabaseChanged(): void;
    fontMetrics(): QFontMetrics;
    globalStrut(): QSize;
    horizontalAlignment(align: number): any;
    inputContext(): QInputContext;
    isEffectEnabled(obj: number): boolean;
    isSessionRestored(): boolean;
    keyboardInputDirection(): number;
    keyboardInputInterval(): number;
    keyboardInputLocale(): QLocale;
    keyboardModifiers(): number;
    keypadNavigationEnabled(): boolean;
    lastWindowClosed(): void;
    layoutDirection(): number;
    //macEventFilter(obj: any, obj: any): boolean;
    mainWidget(): any;
    mouseButtons(): number;
    navigationMode(): number;
    overrideCursor(): QCursor;
    palette(): QPalette;
    palette(obj: QWidget): QPalette;
    palette(className: string): QPalette;
    palette(): QPalette;
    palette(obj: QWidget): QPalette;
    palette(className: string): QPalette;
    palette(): QPalette;
    palette(obj: QWidget): QPalette;
    palette(className: string): QPalette;
    platformNativeInterface(): QPlatformNativeInterface;
    queryKeyboardModifiers(): number;
    quitOnLastWindowClosed(): boolean;
    qwsDecoration(): QDecoration;
    qwsEventFilter(obj: QWSEvent): boolean;
    qwsProcessEvent(obj: QWSEvent): number;
    qwsSetCustomColors(colortable: QRgb, start: number, numColors: number): void;
    qwsSetDecoration(decoration: QString): QDecoration;
    qwsSetDecoration(obj: QDecoration): void;
    qwsSetDecoration(decoration: QString): QDecoration;
    qwsSetDecoration(obj: QDecoration): void;
    restoreOverrideCursor(): void;
    saveState(sm: QSessionManager): void;
    saveStateRequest(sessionManager: QSessionManager): void;
    sessionId(): QString;
    sessionKey(): QString;
    setActiveWindow(act: QWidget): void;
    setArgs(index: number, value: string): void;
    setAutoMaximizeThreshold(threshold: number): void;
    setAutoSipEnabled(enabled: boolean): void;
    setColorSpec(obj: number): void;
    setCursorFlashTime(obj: number): void;
    setDesktopSettingsAware(obj: boolean): void;
    setDoubleClickInterval(obj: number): void;
    setEffectEnabled(obj: number, enable: boolean): void;
    setFont(obj: QFont, className: string): void;
    setGlobalStrut(obj: QSize): void;
    setGraphicsSystem(obj: QString): void;
    setInputContext(obj: QInputContext): void;
    setKeyboardInputInterval(obj: number): void;
    //setKeypadNavigationEnabled(obj: boolean): Q_DECL_DEPRECATED;
    setLayoutDirection(direction: number): void;
    //setMainWidget(obj: QWidget): any;
    setNavigationMode(mode: number): void;
    setOverrideCursor(obj: QCursor): void;
    setPalette(obj: QPalette, className: string): void;
    setQuitOnLastWindowClosed(quit: boolean): void;
    setStartDragDistance(l: number): void;
    setStartDragTime(ms: number): void;
    setStyle(obj: QString): QStyle;
    setStyle(obj: QStyle): void;
    setStyle(obj: QString): QStyle;
    setStyle(obj: QStyle): void;
    setStyleSheet(sheet: QString): void;
    setWheelScrollLines(obj: number): void;
    setWindowIcon(icon: QIcon): void;
    startDragDistance(): number;
    startDragTime(): number;
    style(): QStyle;
    styleSheet(): QString;
    //symbianEventFilter(event: QSymbianEvent): boolean;
    //symbianProcessEvent(event: QSymbianEvent): number;
    syncX(): void;
    topLevelAt(p: QPoint): QWidget;
    topLevelWidgets(): QWidget[];
    type(): any;
    wheelScrollLines(): number;
    widgetAt(p: QPoint): QWidget;
    winFocus(widget: QWidget, focus: boolean): void;
    winMouseButtonUp(): void;
    windowIcon(): QIcon;
    //x11ClientMessage(widget: QWidget, obj: any, passive_only: boolean): number;
    //x11EventFilter(obj: any): boolean;
    //x11ProcessEvent(obj: any): number;
}