import { GridLayout } from '../grid-layout'; import { View } from '../../core/view'; export class RootLayout extends GridLayout { open(view: View, options: RootLayoutOptions = {}): Promise; close(view: View, exitTo?: TransitionAnimation): Promise; topmost(): View; bringToFront(view: View, animated?: boolean): Promise; closeAll(): Promise; getShadeCover(): View; openShadeCover(options: ShadeCoverOptions = {}): Promise; closeShadeCover(shadeCoverOptions: ShadeCoverOptions = {}): Promise; } export function getRootLayout(): RootLayout; export interface RootLayoutOptions { shadeCover?: ShadeCoverOptions; animation?: { enterFrom?: TransitionAnimation; exitTo?: TransitionAnimation; }; } export interface ShadeCoverOptions { opacity?: number; color?: string; tapToClose?: boolean; animation?: { enterFrom?: TransitionAnimation; // only applied if first one to be opened exitTo?: TransitionAnimation; // only applied if last one to be closed }; ignoreShadeRestore?: boolean; } export interface TransitionAnimation { translateX?: number; translateY?: number; scaleX?: number; scaleY?: number; rotate?: number; // in degrees opacity?: number; duration?: number; // in milliseconds curve?: any; // CoreTypes.AnimationCurve (string, cubicBezier, etc.) }