import type { Dayjs } from 'dayjs';
import type { TimeRangeOption } from '../types';
export interface UseTimeAxisOptions {
    range?: TimeRangeOption;
    stepMinutes: number;
    referenceDate: Dayjs;
    orientation: 'horizontal' | 'vertical';
    /** 横向时每格宽度（px），竖向时每格高度（px） */
    cellSizePx: number;
}
export interface TimeAxisState {
    rangeStart: Dayjs;
    rangeEnd: Dayjs;
    ticks: Dayjs[];
    /** 时间转主轴偏移（px） */
    timeToOffset: (t: Dayjs) => number;
    /** 主轴偏移（px）转时间（最近刻度，用于刻度对齐） */
    offsetToTime: (offset: number) => Dayjs | null;
    /** 主轴偏移（px）转时间（连续插值，用于拖动时按分钟步长显示） */
    offsetToTimeContinuous: (offset: number) => Dayjs | null;
    /** 主轴总长度（px） */
    totalLengthPx: number;
}
/**
 * 时间轴刻度与时间↔像素换算
 */
export declare function useTimeAxis(options: UseTimeAxisOptions): TimeAxisState;
