import type { CSSTransitionController } from './CSSTransitionController'; export type SnapPointDetents = [number, number] | [number, number, number]; export type SnapPoint = 'auto' | { initial: number; detents: SnapPointDetents; }; export type SnapPointChange = (snapPoint: number) => void; export type BottomSheetControllerOptions = { sheetScrollEl: HTMLElement | null; sheetTransitionController: CSSTransitionController; backdropTransitionController: CSSTransitionController | null; onSnapPointChange: SnapPointChange; onDismiss: VoidFunction; }; export declare class BottomSheetController { private readonly sheetEl; constructor(sheetEl: HTMLElement, { sheetScrollEl, sheetTransitionController, backdropTransitionController, onSnapPointChange, onDismiss, }: BottomSheetControllerOptions); init(snapPoint: SnapPoint): void; destroy(): void; panStart(event: UIEvent): void; panMove(event: UIEvent): void; panEnd(): void; private isInitialized; private panState; private pannedEl; private sheetHeight; private rafId; private currentSnapPoint; private nextSnapPoint; private snapPointDetents; private unit; private get isDynamicSnapPoint(); private disableVerticalScrollBouncingDispose; private readonly sheetScrollEl; private readonly sheetTransitionController; private readonly backdropTransitionController; private readonly panGestureRecognizer; private readonly onSnapPointChange; private readonly onDismiss; private calculateSnapPoint; private getSnapPointTo; private preventUntilPanGestureBecomesExpected; private preventImmediatelyIfPannedElIsNotValid; private preventUntilVerticalScrollingOnSheetScrollElBecomesExpected; private preventImmediatelyIfVerticalScrollingOnPannedElIsScrolled; private static disableVerticalScrollBouncingIfNeeded; private static isLastSnapPointDetents; private static getClosestSnapPointByDirection; private static getClosestSnapPoint; } //# sourceMappingURL=BottomSheetController.d.ts.map