import { StandardError, StandardErrorCallback, StandardPromise } from "../types";
import { WindowIdentifier } from "../services/window/types";
import { ComponentDescriptor, MonitorInfo } from "../clients/launcherClient";
/**
 * Dynamically registers a component with the Launcher Service for the current Finsemble session. This method registers a given component in a component manifest, making it available to an app launcher component. Note: Components registered in this way are removed at the end of Finsemble's current session.
 *
 * @param params.componentType The key of the component in the component's config.
 * @param params.manifest This should be a component manifest, i.e., a component configuration file like <i>components.json</i>.
 * @param cb The callback to be invoked after the method completes successfully.
 * @deprecated
 */
export declare const registerComponent: (params: {
    componentType: string;
    manifest: ComponentDescriptor;
}, cb: StandardErrorCallback<string>) => StandardPromise<string>;
/**
 * Unregisters a component with the Launcher Service.
 *
 * @param params.componentType The key of the component in the component's config.
 * @param cb
 * @deprecated
 */
export declare const unRegisterComponent: (params: {
    componentType: string;
}, cb?: StandardErrorCallback<string> | undefined) => StandardPromise<string>;
/**
 * @deprecated as of 5.2.0, will be removed in a future release.
 *
 * Convenience function to get a monitor descriptor for a given windowIdentifier, or for the
 * current window.
 *
 * @param windowIdentifier The window to find the monitor for. Current window if undefined.
 * @param cb Returns a monitor descriptor (optional or use returned Promise)
 * @returns A promise that resolves to a monitorInfo
 * @ignore
 */
export declare const getMonitor: (windowIdentifier: WindowIdentifier, cb?: StandardErrorCallback<any> | undefined) => StandardPromise<MonitorInfo>;
/**
 * Gets all active or pending window names. Active windows have completed spawning.  Pending windows have been spawned but haven't yet completed.
 *
 * @param cb Callback returns an array of window names (as does the resolved Promise).
 * @ignore
 * @deprecated Move to workspaceService where this code is actually used
 */
export declare const getActiveAndPendingWindowNames: (cb?: Function) => Promise<{
    err: any;
    data: any;
}>;
/**
 * Get list of windows objects that haven't finished spawning
 * Individual window objects are not full windows,
 * they contain the window name and a few other attributes
 *
 * @returns Object
 * @ignore
 * @deprecated Move to workspaceService where this code is actually used
 */
export declare const getPendingWindows: () => StandardPromise<string[]>;
/**
 * Gets components that can receive specific data types. Returns an object containing componentTypes mapped to a list of dataTypes they can receive. This is based on the "advertiseReceivers" property in a component's config.
 *
 * ```JavaScript
 * FSBL.Client.LauncherClient.getComponentsThatCanReceiveDataTypes({ dataTypes: ['chartiq.chart', 'salesforce.contact']}, function(err, response) {
 * 	//Response contains: {'chartiq.chart': ['Advanced Chart'], 'salesforce.contact': ['Salesforce Contact']}
 * })
 * ```
 * @param params.dataTypes An array of data types. Looks for components that can receive those data types.
 * @param cb The callback to be invoked after the method completes successfully.
 * @deprecated
 * @ignore
 */
export declare const getComponentsThatCanReceiveDataTypes: (params: {
    dataTypes: string[];
}, cb?: Function) => Promise<unknown>;
/**
 * Minimizes all but a specific list or group of windows. Either groupName or windowList must be specified.
 *
 * ```JavaScript
 * LauncherClient.hyperFocus({ windowList: ['AdvancedChart-123-123', 'Symphony-Chat-234-234']}, function(err, response) {
 *
 * })
 * ```
 * @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 hyperFocus.
 * @param params.componentType Optional. The Component Type to hyperFocus. Not to be used with windowList.
 * @deprecated as of 4.0.0, may be removed in the future
 * @ignore
 */
export declare const hyperFocus: (params: {
    windowList?: string[] | WindowIdentifier[];
    groupName?: string;
    componentType?: string;
}, cb?: (() => void) | undefined) => Promise<void>;
/**
 * Create Window group
 * @param params
 * @param params.groupName The name of the window group to create
 * @param params.windowList An array of window names or window identifiers to add to the group. Optional.
 * @param cb callback to be called upon group creation
 *
 * @ignore
 * @deprecated
 */
export declare const createWindowGroup: (params: {
    windowList?: string[] | WindowIdentifier[];
    groupName?: string;
}, cb?: Function) => Promise<unknown>;
/**
 * Add Windows to group
 * @param params
 * @param params.groupName The name of the window group
 * @param params.windowList An array of window names or window identifiers to add to the group.
 * @param cb callback to be called upon group creation
 *
 * @ignore
 * @deprecated
 */
export declare const addWindowsToGroup: (params: {
    windowList?: string[] | WindowIdentifier[];
    groupName?: string;
}, cb?: Function) => Promise<unknown>;
/**
 * Remove Windows from group
 * @param params
 * @param params.groupName The name of the window group
 * @param params.windowList An array of window names or window identifiers to remove from the group.
 * @param cb callback to be called upon group creation
 *
 * @ignore
 * @deprecated
 */
export declare const removeWindowsFromGroup: (params: {
    windowList?: string[] | WindowIdentifier[];
    groupName?: string;
}, cb?: Function) => Promise<unknown>;
/**
 * Get Window Groups that a window belongs to. If no windowIdentifier is specified, gets  the groups of the current window.
 * @param params
 * @param params.windowIdentifier Optional. If not specified uses current window
 * @param cb callback with a list of groups
 *
 * @ignore
 * @deprecated
 */
export declare const getGroupsForWindow: (params: {
    windowIdentifier: WindowIdentifier;
} | null, cb?: Function) => Promise<unknown>;
/**
 * @param params
 * @param params.windowIdentifier Optional. Current window is assumed if not specified.
 * @param params.groupNames List of group names to add window to. Groups will be created if they do not exist.
 * @param cb
 * @ignore
 * @deprecated
 */
export declare const addToGroups: (params: {
    windowIdentifier?: WindowIdentifier;
    groupNames?: string[];
}, cb: (err?: StandardError) => void) => Promise<{
    err: StandardError;
}>;
//# sourceMappingURL=deprecatedlauncherClient.d.ts.map