import { Ref, ShallowRef, ComputedRef } from 'vue';
import { GanttRowNode, VisibleTimeLine, TimeLineNode } from '../../../../types';
import { default as dayjs } from 'dayjs';
export declare const useTimeLineStretch: ({ edgeSpacing, ganttViewWidth, rowNodeMap, movingTimeLineRowId, movingTimeLine, timeLineMoving, visibleTimeLineMap, disableStretch, closeEdgeScroll, sortTimeLineNodes, mergeOverlapTimeLine, freshVisibleTimeLines, getDiffSecondByDistance, emitUpdateMinDate, emitUpdateMaxDate, updateParentTimeLine }: {
    edgeSpacing: number;
    ganttViewWidth: Ref<number>;
    rowNodeMap: Ref<Map<string, GanttRowNode>, Map<string, GanttRowNode>>;
    movingTimeLineRowId: Ref<string>;
    movingTimeLine: Ref<VisibleTimeLine | null>;
    timeLineMoving: Ref<boolean>;
    visibleTimeLineMap: ShallowRef<Map<string, VisibleTimeLine[]>, Map<string, VisibleTimeLine[]>>;
    disableStretch: ComputedRef<boolean | undefined>;
    closeEdgeScroll: (perMoveSpacing: number, callBack: (moveSpacing: number) => any) => void;
    sortTimeLineNodes: (timeLineNodes: TimeLineNode[]) => void;
    mergeOverlapTimeLine: (timeLineNodes: TimeLineNode[]) => TimeLineNode[];
    freshVisibleTimeLines: (freshAll?: boolean) => void;
    getDiffSecondByDistance: (distance: number, startDate: dayjs.Dayjs) => dayjs.Dayjs;
    emitUpdateMinDate: (date: dayjs.Dayjs) => void;
    emitUpdateMaxDate: (date: dayjs.Dayjs) => void;
    updateParentTimeLine: (rowId: string) => void;
}) => {
    startTimeLineStretch: (e: MouseEvent, timeLine: VisibleTimeLine, rowId: string, direction: "left" | "right") => void;
};
