import type { Clip, TimeMs } from '../models/types';
import type { TimelineTrackCollection } from '../tracks/timelineTrackCollection';
export interface TimelineTimeView {
    setCurrentTime(time: TimeMs): void;
}
export interface TimelineZoomView {
    setZoom(zoom: number): void;
}
export interface TimelineScrollView {
    setScrollLeft(scrollLeft: number): void;
}
export interface TimelineVerticalScrollView {
    setScrollTop(scrollTop: number): void;
}
export declare class TimelinePresentationAdapter {
    syncCurrentTime(timeline: TimelineTimeView | null, playhead: TimelineTimeView | null, tracks: TimelineTrackCollection, time: TimeMs): void;
    syncZoom(timeline: TimelineZoomView | null, playhead: TimelineZoomView | null, tracks: TimelineTrackCollection, zoom: number): void;
    syncScrollLeft(playhead: TimelineScrollView | null, tracks: TimelineTrackCollection, scrollLeft: number): void;
    syncScrollTop(panel: TimelineVerticalScrollView | null, scrollbar: TimelineVerticalScrollView | null, scrollTop: number): void;
    syncSelection(tracks: TimelineTrackCollection, selectedClipIds: string[]): void;
    findSelectedClip(tracks: TimelineTrackCollection): Clip | null;
}
