export declare const CHART_CONFIG: {
    readonly RADIUS_SIZE: 4;
    readonly EDGE_THRESHOLD: 8;
    readonly CHART_HEIGHT: 35;
    readonly BAR_SIZE: 8;
    readonly TICK_SIZE: 4;
    readonly TOOLTIP_OFFSET: 24;
    readonly FONT_SIZE: string;
    readonly TEXT_DY_OFFSET: 12;
    readonly TICK_INTERVAL: 0;
    readonly MARGINS: {
        readonly left: 28;
        readonly right: 28;
        readonly bottom: 4;
        readonly top: 4;
    };
};
export declare const TIME_CONSTANTS: {
    readonly ONE_HOUR: number;
    readonly ONE_DAY: number;
    readonly ONE_WEEK: number;
    readonly MARGIN_HOURS: 6;
    readonly FIFTEEN_MINUTES: number;
    readonly SIX_HOURS: number;
};
export declare const LABEL_CONFIG: {
    readonly MIN_SPACE_PER_TICK: 80;
    readonly MODULO_CONFIG: {
        readonly [x: number]: 2 | 3;
    };
};
export declare const calculateSevenDayTicks: (endTimestamp: number) => number[];
export declare const calculateDayTicks: (endTimestamp: number) => number[];
export declare const calculateHourTicks: (endTimestamp: number) => number[];
export declare const getEdgeMargin: (index: number, totalTicks: number, isDaySpan: boolean) => number;
export declare const getTicks: (startTimestamp: number, endTimestamp: number) => number[];
export interface LabelVisibilityConfig {
    hasEnoughSpace: boolean;
    timeSpan: number;
    tickIndex: number;
    totalTicks: number;
}
export declare const calculateLabelVisibility: (chartWidth: number, totalTicks: number, span: number, index: number, endTimestamp: number) => boolean;
/**
 * Core calculation for alert positioning within a time range
 */
export declare const calculateAlertPosition: (alertStartTimestamp: number, alertEndTimestamp: number, chartStartTimestamp: number, chartEndTimestamp: number, availableWidth: number, baseX?: number) => {
    startX: number;
    width: number;
    relativeSize: number;
};
export type NavigationAction = 'previous' | 'next' | 'first' | 'last' | 'escape';
export interface NavigationState {
    newIndex: number;
    selectedAlert: any | null;
    shouldActivateKeyboard: boolean;
}
/**
 * Maps keyboard events to navigation actions
 */
export declare const getNavigationAction: (key: string) => NavigationAction | null;
/**
 * Calculates new index based on navigation action
 */
export declare const calculateNavigationIndex: (action: NavigationAction, currentIndex: number, arrayLength: number) => number;
/**
 * Gets complete navigation state update for a given action
 */
export declare const getNavigationStateUpdate: <T>(action: NavigationAction, currentIndex: number, alerts: T[]) => NavigationState;
/**
 * Calculates tooltip position for an alert based on its time range
 */
export declare const getTooltipPosition: (alert: {
    startsAt: string;
    endsAt: string;
}, startTimestamp: number, endTimestamp: number, chartUsableWidth: number) => number;
//# sourceMappingURL=healthBarUtils.d.ts.map