import * as React from 'react'; import { View } from 'react-native'; import type { ZestUIComponentProps } from '../../types'; /** * A container viewport for toasts. * Renders a `` that fills its parent without intercepting touches. * * **This is the one popup family that is not an RN `Modal`, and deliberately so.** * A `Modal` covers the screen and swallows every touch, which is right for a * dialog and fatal for a toast: the app underneath has to stay usable while a * toast is on screen. So there is no `Toast.Portal` either — place the Viewport * inside `Toast.Provider`, at the root of the app, and position it with your own * styles. `pointerEvents="box-none"` is what lets touches through everywhere * except on the toasts themselves. * * It measures its own screen position for `Toast.Positioner`: anchors are * measured in screen coordinates, and unlike a `Modal` this viewport can sit * anywhere. * * Upstream's viewport also runs focus management, hover tracking and a * `ScrollArea`-like keyboard flow (F6). None of that is ported: see the store. */ export declare function ToastViewport(componentProps: ToastViewport.Props): React.ReactElement>; export interface ToastViewportState { /** * Whether there are no toasts. */ empty: boolean; /** * Whether a toast is being pressed or focused, which pauses the timers. */ expanded: boolean; } export interface ToastViewportProps extends ZestUIComponentProps { } export declare namespace ToastViewport { type State = ToastViewportState; type Props = ToastViewportProps; } //# sourceMappingURL=ToastViewport.d.ts.map