/// <reference types="react" />
import './core.css';
import { CoverType, Window, NewWindow } from './ctr';
import { Application } from './app';
import Gesture, { Event } from '../lib/gesture';
export interface NewApplication {
    new (launcher: ApplicationLauncher): Application;
}
export interface Options extends Dict {
    id?: any;
}
export declare const MAX_ACTIVITY_RETAIN_COUNT = 1;
export default class ApplicationLauncher extends Gesture<{
    disableTopGesture?: boolean;
    disableBottomGesture?: boolean;
}> {
    private _installed;
    private _apps;
    private _sys;
    private _cur;
    private _InstanceIDs;
    private _activityHistory;
    private _widgetHistory;
    private _topHistory;
    private _bottomHistory;
    constructor(props: any);
    protected triggerRemove(): void;
    private _genPanel;
    get currentApplication(): string;
    install(appName: string, app: () => Promise<{
        default: NewApplication;
    }>): void;
    uninstall(appName: string): void;
    launch(appName: string, args?: any): Promise<void>;
    private _exitApp;
    private _autoClear;
    show<T extends Window>(app: Application, window: NewWindow<T>, args?: Options, animate?: boolean): Promise<T>;
    close<T extends Window>(app: Application, id: string | NewWindow<T>, animate?: boolean): Promise<void>;
    private _getCoverConstructor;
    private _disableCover;
    showCover(type?: CoverType, animate?: boolean): Promise<void>;
    closeCover(type?: CoverType, animate?: boolean): Promise<void>;
    closeCoverAll(): void;
    private _makeActivity;
    private _unmakeActivity;
    private _makeTop;
    private _makeBottom;
    private _unmakeTop;
    private _unmakeBottom;
    private _makeWidget;
    private _unmakeWidget;
    private _load;
    private _unloadInstance;
    private _unload;
    private _getInfo;
    getWindow(app: Application, id: string | NewWindow<Window>): Window | null;
    private _handleContextMenu;
    render(): JSX.Element;
    protected get $el(): HTMLElement;
    private _beginMove;
    private _top_full_open;
    private _bottom_full_open;
    private _disable_top_gesture;
    private _disable_bottom_gesture;
    private _top_unload;
    private _bottom_unload;
    private _setCoverFullOpen;
    private _setCoverPosition;
    private _setCoverPositionNoAnimate;
    protected triggerBeginMove(e: Event): void;
    protected triggerMove(e: Event): void;
    protected triggerEndMove(e: Event): void;
    static get current(): ApplicationLauncher;
    static launch(appName: string, args?: any): Promise<void>;
}
