import React from 'react';
import type { Dayjs } from 'dayjs';
export interface GestureLayerProps {
    orientation: 'horizontal' | 'vertical';
    cellSizePx: number;
    /** 轴在滚动内容中的起始边距（左/上），用于把「滚动内容坐标」转为「轴内偏移」（与 dot 对齐） */
    axisStartMarginPx: number;
    /**
     * 偏移 → 整点对齐的「最近 tick」时间。`snapToStep=true` 时点击 / 方向键吸到 step 网格上用。
     */
    offsetToTime: (offset: number) => Dayjs | null;
    /**
     * 偏移 → 连续时间（不吸附）。`snapToStep=false` 时点击与方向键都走这条，
     * 让用户点哪儿就跳到哪一秒，不再被 stepMinutes 强行回弹。
     */
    offsetToTimeContinuous: (offset: number) => Dayjs | null;
    onSelectTime: (t: Dayjs) => void;
    isInDisabledRanges: (t: Dayjs) => boolean;
    snapToStep: boolean;
    stepMinutes: number;
    snapFn: (t: Dayjs) => Dayjs;
    scrollPosition: {
        scrollLeft: number;
        scrollTop: number;
    };
    viewportSize: {
        w: number;
        h: number;
    };
    onPointerDown?: React.PointerEventHandler;
    onPointerMove?: React.PointerEventHandler;
    onPointerUp?: React.PointerEventHandler;
    onPointerLeave?: React.PointerEventHandler;
    /** 轴上任意指针按下（含惯性拖轴） */
    onUserInteraction?: () => void;
    children: React.ReactNode;
}
/**
 * 交互层：点击刻度跳转、键盘左右/上下 + 回车
 */
export declare function GestureLayer({ orientation, cellSizePx, axisStartMarginPx, offsetToTime, offsetToTimeContinuous, onSelectTime, isInDisabledRanges, snapToStep, stepMinutes, snapFn, scrollPosition, viewportSize, onPointerDown, onPointerMove, onPointerUp, onPointerLeave, onUserInteraction, children, }: GestureLayerProps): JSX.Element;
