package com.reactnativenavigation.layouts; import android.os.Bundle; import android.view.View; import com.facebook.react.bridge.Callback; import com.reactnativenavigation.params.ContextualMenuParams; import com.reactnativenavigation.params.FabParams; import com.reactnativenavigation.params.LightBoxParams; import com.reactnativenavigation.params.SlidingOverlayParams; import com.reactnativenavigation.params.SnackbarParams; import com.reactnativenavigation.params.TitleBarButtonParams; import com.reactnativenavigation.params.TitleBarLeftButtonParams; import com.reactnativenavigation.screens.Screen; import com.reactnativenavigation.views.SideMenu.Side; import java.util.List; public interface Layout extends ScreenStackContainer { View asView(); boolean onBackPressed(); void setTopBarVisible(String screenInstanceId, boolean hidden, boolean animated); void setTitleBarTitle(String screenInstanceId, String title); void setTitleBarSubtitle(String screenInstanceId, String subtitle); void setTitleBarRightButtons(String screenInstanceId, String navigatorEventId, List<TitleBarButtonParams> titleBarButtons); void setTitleBarLeftButton(String screenInstanceId, String navigatorEventId, TitleBarLeftButtonParams titleBarLeftButtonParams); void setFab(String screenInstanceId, String navigatorEventId, FabParams fabParams); void toggleSideMenuVisible(boolean animated, Side side); void setSideMenuVisible(boolean animated, boolean visible, Side side); void showSnackbar(SnackbarParams params); void showSlidingOverlay(SlidingOverlayParams params); void hideSlidingOverlay(); void onModalDismissed(); boolean containsNavigator(String navigatorId); void showContextualMenu(String screenInstanceId, ContextualMenuParams params, Callback onButtonClicked); void dismissContextualMenu(String screenInstanceId); Screen getCurrentScreen(); void dismissSnackbar(); void showLightBox(LightBoxParams params); void dismissLightBox(); void selectTopTabByTabIndex(String screenInstanceId, int index); void selectTopTabByScreen(String screenInstanceId); void updateScreenStyle(String screenInstanceId, Bundle styleParams); }