import { TrackElement, Track } from '@twick/timeline';

interface TimelineManagerReturn {
    timelineData: {
        tracks: Track[];
        version: number;
    } | null;
    onAddTrack: () => void;
    onElementDrag: ({ element, dragType, updates, }: {
        updates: {
            start: number;
            end: number;
        };
        element: TrackElement;
        dragType: string;
    }) => void;
    onReorder: (reorderedItems: Track[]) => void;
    onSeek: (time: number) => void;
    onSelectionChange: (selectedItem: TrackElement | Track | null) => void;
    selectedItem: Track | TrackElement | null;
    totalDuration: number;
}
/**
 * Custom hook to manage timeline operations and state.
 * Provides functions for handling element dragging, track reordering,
 * seeking, and selection changes in the video editor.
 *
 * @returns Object containing timeline management functions and state
 *
 * @example
 * ```js
 * const { timelineData, onElementDrag, onSeek, onSelectionChange } = useTimelineManager();
 *
 * // Handle element dragging
 * onElementDrag({ element, dragType: "START", updates: { start: 5, end: 10 } });
 *
 * // Seek to specific time
 * onSeek(15.5);
 * ```
 */
export declare const useTimelineManager: () => TimelineManagerReturn;
export {};
