import { ComponentPublicInstance, Ref } from 'vue'; export interface DrawerRootContext { open: Ref; isOpen: Ref; modal: Ref; hasBeenOpened: Ref; isVisible: Ref; drawerRef: Ref; overlayRef: Ref; isDragging: Ref; dragStartTime: Ref; isAllowedToDrag: Ref; snapPoints: Ref<(number | string)[] | undefined>; keyboardIsOpen: Ref; activeSnapPoint: Ref; pointerStartY: Ref; dismissible: Ref; drawerHeightRef: Ref; snapPointsOffset: Ref; onPress: (event: PointerEvent) => void; onDrag: (event: PointerEvent) => void; onRelease: (event: PointerEvent) => void; closeDrawer: () => void; shouldFade: Ref; fadeFromIndex: Ref; shouldScaleBackground: Ref; onNestedDrag: (percentageDragged: number) => void; onNestedRelease: (o: boolean) => void; onNestedOpenChange: (o: boolean) => void; emitClose: () => void; emitDrag: (percentageDragged: number) => void; emitRelease: (open: boolean) => void; emitOpenChange: (o: boolean) => void; nested: Ref; } export declare const injectDrawerRootContext: (fallback?: T | undefined) => T extends null ? DrawerRootContext | null : DrawerRootContext, provideDrawerRootContext: (contextValue: DrawerRootContext) => DrawerRootContext;