/*!
 * Copyright 2017 by ChartIQ, Inc.
 * All rights reserved.
 */
import { StoreModel } from "../../../../../clients/StoreModel";
import { WindowIdentifier } from "../../../../../platform/services/window/types";
declare let appLauncherStore: StoreModel | undefined;
type VoidCallback = () => void;
type ComponentDescriptor = Record<string, any>;
type ComponentList = Record<string, ComponentDescriptor>;
declare const Actions: {
    componentList: ComponentList;
    initialize: (cb: VoidCallback) => void;
    getComponentList(cb?: VoidCallback): void;
    initializeComponentList(cb: VoidCallback): void;
    getUserDefinedComponentList(cb: VoidCallback): void;
    saveCustomComponents(): void;
    /**
     * Produce a filtered component list based on the settings for this menu (either "mode" or "list").
     *
     * Components will only be added to the returned list if they match the specified mode or
     * are found in the specified list
     */
    processSettings(settings: any, components: ComponentList): ComponentList;
    filterComponents(components?: ComponentList): void;
    handleRemoveCustomComponent(componentName: string, cb?: (wasDeconsted: boolean) => void): void;
    removeCustomComponent(componentName: string): void;
    hideWindow(): void;
    launchComponent(config: any, params: any, cb?: (win?: WindowIdentifier) => void): void;
};
declare function initialize(cb: (store?: StoreModel) => void): void;
declare const getStore: () => StoreModel | undefined;
declare class StoreManager {
    initialized: boolean;
    initializing: boolean;
    callbacks: Function[];
    store: StoreModel | undefined | null;
    constructor();
    initialize(): void;
    addInitializedListener(cb: (store: StoreModel) => void): void;
    removeInitializedListener(cb: Function): void;
}
declare const storeManager: StoreManager;
export { storeManager, initialize, appLauncherStore as Store, Actions, getStore };
//# sourceMappingURL=appLauncherStore.d.ts.map