import * as React from 'react'; import type { BackButtonEvent } from '../../../mobile_event_handler/mobile_event_handler'; import type { ScrollState } from '../../../scroll/scroll'; import type { SurfaceHeaderProps } from '../../header/header'; import type { ContentContainerProps } from '../../internal/content_container'; import type { Trigger } from '../../internal/trigger'; export type { SnapPoint } from '../behavior/behavior'; export type ScreenHeight = 'half' | 'full'; export type AutoHeight = { autoUpTo: ScreenHeight; }; export type OnRequestCloseContext = { action: 'resize' | 'backButton' | 'backdrop'; }; export type Height = ScreenHeight | AutoHeight | 'auto'; export type DragHandleVisibility = 'auto' | 'never'; export type SheetProps = { ref?: React.Ref open: boolean trigger?: Trigger onBackButton?(event: BackButtonEvent): void } & SharedSheetProps; export type SheetImperativeHandle = { setHeight: (height: Height) => void } & SheetContentImperativeHandle; export type HeaderAndFooterProps = Pick & { headerStart?: SurfaceHeaderProps['start'] headerEnd?: SurfaceHeaderProps['end'] | 'none' headerDivider?: 'always' | 'when-scrolled' | 'never' headerAlignment?: SurfaceHeaderProps['alignment'] header?: React.ReactNode footer?: React.ReactNode }; type EventHandlerProps = { onHeightChange?: (height: Height) => void onRequestClose?: (context?: OnRequestCloseContext) => void onOpenComplete?: () => void onCloseComplete?: () => void onScroll?: (arg: { scrollTop: number; }) => void }; type SharedSheetProps = { height?: Height | readonly Height[] scrollToResizeBelow?: Height backdropVisible?: boolean markOutsideInert?: boolean handleVisible?: DragHandleVisibility handleSafeAreaInsetBottom?: boolean _tempVideoOnlyIgnoreVirtualKeyboardOffset?: boolean id?: string children?: React.ReactNode } & HeaderAndFooterProps & ContentContainerProps & EventHandlerProps; export declare function Sheet( { open, id: idProp, onOpenComplete, onCloseComplete, onBackButton, backdropVisible, markOutsideInert, trigger, ref, ...inner }: SheetProps ): React.ReactNode; type SheetContentImperativeHandle = { getScrollState: () => ScrollState | undefined scrollTo: (options: ScrollToOptions) => void getBoundingClientRect: () => DOMRect | undefined scrollTop: number | undefined scrollLeft: number | undefined scrollHeight: number | undefined scrollWidth: number | undefined clientHeight: number | undefined clientWidth: number | undefined offsetHeight: number | undefined offsetWidth: number | undefined }; type ScrollToOptions = { top?: number; left?: number; behavior?: 'auto' | 'smooth' | 'instant'; } | number;