/// <reference types="jquery" />
import { Desktop, DesktopFormControllerModel, Event, Form, FormController, InitModelOf, PopupWindow } from '../index';
export declare class DesktopFormController extends FormController implements DesktopFormControllerModel {
    model: DesktopFormControllerModel;
    displayParent: Desktop;
    desktop: Desktop;
    popupWindows: PopupWindow[];
    protected _documentPopupWindowReadyHandler: (event: JQuery.TriggeredEvent, data: PopupWindowReadyData) => void;
    constructor(model: InitModelOf<DesktopFormController>);
    render(): void;
    protected _renderViews(): void;
    isFormShown(form: Form): boolean;
    protected _renderPopupWindow(form: Form, position?: number): void;
    protected _addPopupWindow(newWindow: Window, form: Form, resizeToPrefSize: boolean): void;
    protected _onDocumentPopupWindowReady(event: JQuery.TriggeredEvent, data: PopupWindowReadyData): void;
    protected _onPopupWindowUnload(event: Event<PopupWindow>): void;
    /**
     * We only close browser windows here, since during an unload event, we cannot send
     * anything with an HTTP request anyway. So we cannot inform the server that it
     * should "kill" the forms - instead we simply render the popupWindows and forms
     * again when the page has been reloaded.
     */
    closePopupWindows(): void;
    protected _removePopupWindow(form: Form): void;
    dispose(): void;
}
export interface PopupWindowReadyData {
    window: Window;
    popupWindow?: PopupWindow;
    formId?: string;
}
//# sourceMappingURL=DesktopFormController.d.ts.map