import Konva from 'konva';
import type { TimeMs, TimelineConfig } from '../../core/models/types';
export declare class TimelineHeaderView {
    private readonly stage;
    private readonly layer;
    private readonly onTimeChange;
    private readonly onScrollChange;
    private config;
    private theme;
    private scrollLeft;
    private timeScaleHeight;
    private isDragging;
    private dragStartX;
    private isPointerInsideTimeline;
    private lastPointerXInTimeline;
    private hasBoundGlobalPointerListenersForDrag;
    private handleGlobalPointerMove;
    private handleGlobalPointerEnd;
    private handleVisibilityChange;
    constructor(stage: Konva.Stage, layer: Konva.Layer, config: Partial<TimelineConfig>, onTimeChange: (time: TimeMs, mode?: 'seek' | 'scrub') => void, onScrollChange: (scrollLeft: number) => void);
    setCurrentTime(_time: TimeMs): void;
    setZoom(zoom: number): void;
    setDuration(duration: TimeMs): void;
    setScrollLeft(scrollLeft: number): void;
    getScrollLeft(): number;
    scrollToTime(time: TimeMs): void;
    scrollToClip(clip: {
        startTime: TimeMs;
        duration: TimeMs;
    }): void;
    resize(width: number): void;
    hasPointerInTimeline(): boolean;
    getPointerXInTimeline(): number | null;
    destroy(): void;
    private initEventListeners;
    private updatePointerPosition;
    private bindGlobalPointerListenersForDrag;
    private unbindGlobalPointerListenersForDrag;
    private handlePointerMove;
    private pixelToTime;
    private timeToPixel;
    private render;
    private renderTimeTicks;
    private clampScrollLeft;
}
