import { Ref, ComputedRef } from 'vue';
import { GanttRowNode, VisibleRow, TimeLineNode, TimeLine, TimePointNode, VisibleTimeLine } from '../../../../types';
import { default as dayjs } from 'dayjs';
export declare const useTimeLine: ({ rowHeight, rowBuffer, perHourSpacing, scrollViewScrollTop, scrollViewScrollLeft, rowNodeMap, currentVisibleRowIds, startInfo, movingTimeLineRowId, movingTimeLine, createTimePointNodes }: {
    rowHeight: Ref<number>;
    rowBuffer: number;
    perHourSpacing: Ref<number>;
    scrollViewScrollTop: Ref<number>;
    scrollViewScrollLeft: Ref<number>;
    rowNodeMap: Ref<Map<string, GanttRowNode>, Map<string, GanttRowNode>>;
    currentVisibleRowIds: Ref<string[], string[]>;
    startInfo: ComputedRef<{
        startDate: dayjs.Dayjs;
    }>;
    movingTimeLineRowId: Ref<string>;
    movingTimeLine: Ref<VisibleTimeLine | null>;
    createTimePointNodes: (timeLine: TimeLine) => TimePointNode[] | undefined;
}) => {
    freshTimeLineView: () => void;
    freshTimeLineViewAfterScrollTop: () => void;
    freshTimeLines: (rowNodes: GanttRowNode[]) => void;
    freshVisibleTimeLines: (freshAll?: boolean) => void;
    sortTimeLineNodes: (timeLineNodes: TimeLineNode[]) => void;
    mergeOverlapTimeLine: (timeLineNodes: TimeLineNode[]) => TimeLineNode<TimeLine>[];
    visibleTimeLineMap: import('vue').ShallowRef<Map<string, VisibleTimeLine[]>, Map<string, VisibleTimeLine[]>>;
    visibleRows: import('vue').ShallowRef<VisibleRow[], VisibleRow[]>;
    updateParentTimeLine: (rowId: string) => void;
};
