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<string>;
    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