/// import { NativeSyntheticEvent, NativeTouchEvent, ViewProps } from 'react-native'; export interface DrawerSlideEvent extends NativeSyntheticEvent { } /** * DrawerLayout * * It provides a compatible API but allows for the componentto be * used on both Android and iOS. Please refer to React Native docs * for the detailed usage for standard parameters. */ export interface DrawerLayoutProps extends ViewProps { /** * Specifies the background color of the drawer. The default value * is white. If you want to set the opacity of the drawer, use rgba. * Example: * return ( * * * ); */ drawerBackgroundColor?: string; /** * Specifies the lock mode of the drawer. The drawer can be locked * in 3 states: * * - unlocked (default), meaning that the drawer will respond * (open/close) to touch gestures. * * - locked-closed, meaning that the drawer will stay closed and not * respond to gestures. * * - locked-open, meaning that the drawer will stay opened and * not respond to gestures. The drawer may still be opened and * closed programmatically (openDrawer/closeDrawer). */ drawerLockMode?: 'unlocked' | 'locked-closed' | 'locked-open'; /** * Specifies the side of the screen from which the drawer will slide in. * Options are `left` or `right`. Default is `left` position. */ drawerPosition?: 'left' | 'right'; /** * possible values are: `front`, `back` or `slide` (default is `front`). * It specifies the way the drawer will be displayed. When set to * front the drawer will slide in and out along with the gesture * and will display on top of the content view. When back is used * the drawer displays behind the content view and can be revealed * with gesture of pulling the content view to the side. Finally * slide option makes the drawer appear like it is attached to the * side of the content view; when you pull both content view and * drawer will follow the gesture. */ drawerType?: 'front' | 'back' | 'slide'; /** * Specifies the width of the drawer, more precisely the width of the * view that be pulled in from the edge of the window. */ drawerWidth?: number; /** * Determines whether the keyboard gets dismissed in response to a drag. * - 'none' (the default), drags do not dismiss the keyboard. * - 'on-drag', the keyboard is dismissed when a drag begins. */ keyboardDismissMode?: 'none' | 'on-drag'; /** * Function called whenever the navigation view has been closed. */ onDrawerClose?: () => void; /** * Function called whenever the navigation view has been opened. */ onDrawerOpen?: () => void; /** * Function called whenever there is an interaction with the navigation view. */ onDrawerSlide?: (event: DrawerSlideEvent) => void; /** * Function called when the drawer state has changed. * The drawer can be in 3 states: * - idle, meaning there is no interaction with the navigation * view happening at the time * - dragging, meaning there is currently an interaction with the * navigation view * - settling, meaning that there was an interaction with the * navigation view, and the navigation view is now finishing * it's closing or opening animation */ onDrawerStateChanged?: (event: 'Idle' | 'Dragging' | 'Settling') => void; /** * The navigation view that will be rendered to the side of the * screen and can be pulled in. */ renderNavigationView: () => JSX.Element; /** * Make the drawer take the entire screen and draw the background of * the status bar to allow it to open over the status bar. It will * only have an effect on API 21+. */ statusBarBackgroundColor?: string; /** * If `true`, the drawer is open. Defaults to `false`. */ open?: boolean; } export declare const DrawerLayoutDefaultProps: { drawerPosition: "left" | "right" | undefined; open: boolean; }; export declare const DrawerLayout: import("react").ComponentType;