import { View } from '../../core/view';
import { GridLayout } from '../grid-layout';
import { RootLayout, RootLayoutOptions, ShadeCoverOptions, TransitionAnimation } from '.';
export declare class RootLayoutBase extends GridLayout {
    private _shadeCover;
    private _popupViews;
    initNativeView(): void;
    disposeNativeView(): void;
    _onLivesync(context?: ModuleContext): boolean;
    /**
     * Ability to add any view instance to composite views like layers.
     *
     * @param view
     * @param options
     * @returns
     */
    open(view: View, options?: RootLayoutOptions): Promise<void>;
    /**
     * Ability to remove any view instance from composite views.
     * Optional animation parameter to overwrite close animation declared when opening popup.
     *
     * @param view
     * @param exitTo
     * @returns
     */
    close(view: View, exitTo?: TransitionAnimation): Promise<void>;
    closeAll(): Promise<void[]>;
    getShadeCover(): View;
    openShadeCover(options?: ShadeCoverOptions): Promise<void>;
    closeShadeCover(shadeCoverOptions?: ShadeCoverOptions): Promise<void>;
    topmost(): View;
    /**
     * This method causes the requested view to overlap its siblings by bring it to front.
     *
     * @param view
     * @param animated
     * @returns
     */
    bringToFront(view: View, animated?: boolean): Promise<void>;
    private getPopupIndex;
    private getViewInitialState;
    private getViewExitState;
    private applyInitialState;
    private applyDefaultState;
    private getEnterAnimation;
    private getExitAnimation;
    private getExitAnimationDefinition;
    private createShadeCover;
    private updateShadeCover;
    private hasChild;
    protected _bringToFront(view: View): void;
    protected _initShadeCover(view: View, shadeOption: ShadeCoverOptions): void;
    protected _updateShadeCover(view: View, shadeOption: ShadeCoverOptions): Promise<void>;
    protected _closeShadeCover(view: View, shadeOptions: ShadeCoverOptions): Promise<void>;
    protected _cleanupPlatformShadeCover(): void;
}
export declare function getRootLayout(): RootLayout;
export declare function getRootLayoutById(id: string): RootLayout;
export declare const defaultTransitionAnimation: TransitionAnimation;
export declare const defaultShadeCoverTransitionAnimation: TransitionAnimation;
export declare const defaultShadeCoverOptions: ShadeCoverOptions;
