export type Tick = {
    time: number;
    px: number;
    kind: 'major' | 'minor';
    label?: string;
};
/**
 * Choose "nice" tick steps so labels don't overlap at a given zoom.
 * Heuristic: major ticks ~90px apart, minor ticks ~45px apart.
 */
export declare function chooseTickSteps(params: {
    width: number;
    windowSeconds: number;
    fps: number;
    maxMajorStep?: number;
}): {
    majorStep: number;
    minorStep: number;
};
export type TickLabelFormatter = (timeSeconds: number, stepSeconds: number, fps: number) => string;
export declare const formatTickLabelDay24h: TickLabelFormatter;
export declare const formatTickLabelDuration: TickLabelFormatter;
