import React from "react"; import { DragAndDrop, Mode, Snap } from "../helpers/interfaces"; import { ProgramItem, BaseTimeFormat, DragMouseUp, ResizeMouseUp, DateTime } from "../helpers/types"; interface useProgramProps { isVerticalMode?: boolean; isRTL?: boolean; isBaseTimeFormat: BaseTimeFormat; isResize?: boolean; startDate: DateTime; contentHeight: number; dayWidth: number; hourWidth: number; program: T; liveRefreshTime: number; minWidth?: number; itemHeight: number; snap?: Snap; mode: Mode; dnd: DragAndDrop; dragMouseUp: (data: DragMouseUp) => void; resizeMouseUp: (data: ResizeMouseUp) => void; } export declare function useProgram({ isVerticalMode, isRTL, isResize, isBaseTimeFormat, startDate, contentHeight, dayWidth, itemHeight, hourWidth, minWidth, program, liveRefreshTime, mode, snap, dnd, dragMouseUp, resizeMouseUp, }: useProgramProps): { isMouseEvent: boolean; isLive: boolean; isMinWidth: boolean; isRTL: boolean; resizeEvents: { isResizing: boolean; resources: { ref: React.RefObject; isResizing: boolean; }; eventsLeft: { onTouchStart: (e: React.MouseEvent | React.TouchEvent) => void; onTouchEnd: () => void; onMouseDown?: undefined; onMouseUp?: undefined; isResize: true; isVerticalMode: boolean; left: boolean; onClick: (e: React.MouseEvent) => void; } | { onMouseDown: (e: React.MouseEvent | React.TouchEvent) => void; onMouseUp: () => void; onTouchStart?: undefined; onTouchEnd?: undefined; isResize: true; isVerticalMode: boolean; left: boolean; onClick: (e: React.MouseEvent) => void; }; eventsRight: { onTouchStart: (e: React.MouseEvent | React.TouchEvent) => void; onTouchEnd: () => void; onMouseDown?: undefined; onMouseUp?: undefined; isResize: true; isVerticalMode: boolean; onClick: (e: React.MouseEvent) => void; } | { onMouseDown: (e: React.MouseEvent | React.TouchEvent) => void; onMouseUp: () => void; onTouchStart?: undefined; onTouchEnd?: undefined; isResize: true; isVerticalMode: boolean; onClick: (e: React.MouseEvent) => void; }; } | { isResizing: boolean; resources: { ref?: undefined; isResizing?: undefined; }; eventsLeft: {}; eventsRight: {}; }; formatTime: (date: string | number | Date, formatType?: string) => string; set12HoursTimeFormat: () => string; getMouseEvents: () => { isDragging: boolean; ref: React.RefObject; isResizing: boolean; } | { onTouchStart: (e: React.MouseEvent | React.TouchEvent) => void; onTouchEnd: () => Promise; onMouseDown?: undefined; onMouseUp?: undefined; isDragging: boolean; ref: React.RefObject; onClick: (e: React.MouseEvent) => void; isResizing: boolean; } | { onMouseDown: (e: React.MouseEvent | React.TouchEvent) => void; onMouseUp: () => Promise; onTouchStart?: undefined; onTouchEnd?: undefined; isDragging: boolean; ref: React.RefObject; onClick: (e: React.MouseEvent) => void; isResizing: boolean; } | { isDragging: boolean; ref?: undefined; isResizing?: undefined; } | { onTouchStart: (e: React.MouseEvent | React.TouchEvent) => void; onTouchEnd: () => Promise; onMouseDown?: undefined; onMouseUp?: undefined; isDragging: boolean; ref: React.RefObject; onClick: (e: React.MouseEvent) => void; isResizing?: undefined; } | { onMouseDown: (e: React.MouseEvent | React.TouchEvent) => void; onMouseUp: () => Promise; onTouchStart?: undefined; onTouchEnd?: undefined; isDragging: boolean; ref: React.RefObject; onClick: (e: React.MouseEvent) => void; isResizing?: undefined; }; getMouseEventTempTime: () => { since: string; till: string; }; getRTLSinceTime: (since: string | number | Date) => string | number | Date; getRTLTillTime: (till: string | number | Date) => string | number | Date; styles: { width: number; position: { [x: string]: any; }; }; }; export {};