///
import { DragHandlers, MotionValue, useSpring, MotionProps } from 'framer-motion';
export declare type SheetEvents = {
onOpenStart?: () => void;
onOpenEnd?: () => void;
onCloseStart?: () => void;
onCloseEnd?: () => void;
onSnap?: (index: number) => void;
};
export declare type SheetProps = {
isOpen: boolean;
children: React.ReactNode;
onClose: () => void;
rootId?: string;
snapPoints?: number[];
useContentHeight?: boolean;
initialSnap?: number;
springConfig?: Parameters[1];
disableDrag?: boolean;
} & SheetEvents & React.HTMLAttributes;
export declare type SheetContainerProps = Omit & {
children: React.ReactNode;
};
export declare type SheetDraggableProps = Omit & {
children?: React.ReactNode;
disableDrag?: boolean;
};
export declare type SheetBackdropProps = Omit;
export declare type SheetDragProps = {
drag: 'y';
dragElastic: number;
dragConstraints: any;
dragMomentum: boolean;
onDrag: DragHandlers['onDrag'];
onDragStart: DragHandlers['onDragStart'];
onDragEnd: DragHandlers['onDragEnd'];
};
export declare type SheetContextType = {
y: MotionValue;
sheetRef: React.MutableRefObject;
isOpen: boolean;
snapPoints: SheetProps['snapPoints'];
useContentHeight?: boolean;
initialSnap: SheetProps['initialSnap'];
indicatorRotation: MotionValue;
callbacks: React.MutableRefObject;
dragProps: SheetDragProps;
windowHeight: number;
springConfig: Parameters[1];
};
declare type ContainerComponent = React.ForwardRefExoticComponent>;
declare type DraggableComponent = React.ForwardRefExoticComponent>;
declare type BackdropComponent = React.ForwardRefExoticComponent>;
declare type SheetComponent = React.ForwardRefExoticComponent>;
declare type SheetCompoundComponent = {
Container: ContainerComponent;
Header: DraggableComponent;
Content: DraggableComponent;
Backdrop: BackdropComponent;
};
export declare type SheetCompound = SheetComponent & SheetCompoundComponent;
export {};