import type { EmptyObject } from '../../../../../framework-types/BaseTypes';
import type { Transient } from '../../utils/StateUtils';
import type { StateAtom } from '../Types';
import type { TimelineAtom, TimelineContext, TimelineEntry } from './Types';
export type CueMapper<Entry extends TimelineEntry> = (entry: Entry) => TextTrackCue;
export type TimelineTrackerAtom<Entry extends TimelineEntry> = StateAtom<{
    enter: Transient<Entry[]>;
    exit: Transient<Entry[]>;
}, EmptyObject>;
export declare function createTimelineTrackerAtom<Entry extends TimelineEntry>(context: TimelineContext, timeline: TimelineAtom<Entry>, textTrackId: string, label: string, kind: TextTrackKind, removeOnAbort?: boolean, toCue?: CueMapper<Entry>): TimelineTrackerAtom<Entry>;
