import { RestartParams } from "../services/systemManager/shutDownManager";
import { WindowIdentifier } from "../services/window/types";
import { StandardErrorCallback, StandardPromise } from "../types";
/**
 * Shutdown the SmartDesktop (Finsemble).
 */
export declare const shutdownApplication: () => void;
/**
 * Restart the SmartDesktop (Finsemble).
 * @param [params]
 * @param [params.forceRestart]=false Whether to give components a chance to shutdown. ForceRestart is used during the reset sequence.
 */
export declare const restartApplication: (params?: RestartParams | undefined) => void;
/**
 * Brings a windows to front. If no windowList, groupName or componentType is specified, brings all windows to front.
 *
 * ```JavaScript
 * FSBL.Clients.LauncherClient.bringWindowsToFront({ windowList: ['AdvancedChart-123-123', 'Symphony-Chat-234-234']}, function(err, response) {
 *    // do something
 * })
 * ```
 * @param params
 * @param params.windowList Optional. An array An array of window names or window identifiers. Not to be used with componentType.
 * @param params.groupName Optional. The name of a window group to bring to front.
 * @param params.componentType Optional. The componentType to bring to front. Not to be used with windowList.
 */
export declare const bringWindowsToFront: (params?: {
    windowList?: string[] | WindowIdentifier[];
    groupName?: string;
    componentType?: string;
}, cb?: Function) => Promise<void>;
/**
 * Minimize windows. If no windowList or groupName is specified, all windows will be minimized.
 * @param params
 * @param params.windowList Optional. An array of window names or window identifiers. Not to be used with componentType.
 * @param params.groupName Optional. The name of a window group to minimize.
 * @param params.componentType Optional. The component type of windows to Minimize. Not to be used with windowList.
 */
export declare const minimizeWindows: (params: {
    windowList?: string[] | WindowIdentifier[];
    groupName?: string;
    componentType?: string;
}, cb?: Function | undefined) => Promise<void>;
/**
 * This method is an experimental feature in Finsemble Labs. Calling this method automatically arranges all windows on the user's screen into a grid-like pattern.
 *
 * @param params Parameters Unused
 * @param cb The callback to be invoked after the method completes successfully.
 */
export declare const autoArrange: (params: any, cb?: StandardErrorCallback<void> | undefined) => StandardPromise<void>;
/**
 * Minimizes all windows.
 *
 * ```JavaScript
 * FSBL.Clients.WorkspaceClient.minimizeAll();
 * FSBL.Clients.WorkspaceClient.minimizeAll({monitor: "all"}, function(err){
 * 	// do something
 * });
 * ```
 * @param params
 * @param params.monitor Same options as <a href="tutorial-LauncherClient.html#showWindow">LauncherClient.showWindow</a> except that "all" will work for all monitors. Defaults to all.
 * @param params.windowIdentifier The Finsemble identifier structure for the window triggering the request.
 * @param cb The callback to be invoked after the method completes successfully.
 */
export declare const minimizeAll: (params?: {
    monitor: string;
    windowIdentifier?: any;
} | undefined, cb?: StandardErrorCallback<void> | undefined) => StandardPromise<void>;
/**
 * Brings all windows to the front.
 *
 * ```JavaScript
 * FSBL.Clients.WorkspaceClient.bringWindowsToFront();
 * FSBL.Clients.WorkspaceClient.bringWindowsToFront({monitor: "all"}, function(err){
 * 	// do something
 * });
 * ```
 * @param params
 * @param params.monitor Same options as <a href="tutorial-LauncherClient.html#showWindow">LauncherClient.showWindow</a> except that "all" will work for all monitors. Defaults to the monitor for the current window.
 * @param params.windowIdentifier The Finsemble identifier for the target window. If not provided, defaults to the current window.
 * @param cb The callback to be invoked after the method completes successfully.
 */
export declare const bringAllWindowsToFront: (params?: {
    monitor: string;
    windowIdentifier?: any;
} | undefined, cb?: StandardErrorCallback<void> | undefined) => StandardPromise<void>;
//# sourceMappingURL=Desktop.d.ts.map