import type {
    SetStateAction,
    Dispatch
} from "react";
import type {
    DateTimePickerPickerType,
    DateTimePickerDateRange,
    DateTimePickerVariant
} from "../dateTimePicker/type";

export type TimeSelectorDynamicStyle = {
    isTimeSelectWorksWithCenterWhenTimePicker?: boolean;
    spaces: NCoreUIKit.ActivePalette["spaces"];
    pickerType: DateTimePickerPickerType;
};

export type UpdateDateType = {
    minutes?: number;
    seconds?: number;
    hours?: number;
};

export type UpdateDateRangeType = {
    rangeType: "start" | "end";
    minutes?: number;
    seconds?: number;
    hours?: number;
};

interface ITimeSelectorProps {
    selectMultipleObject: (dateRange?: DateTimePickerDateRange) => void;
    setIsSheetContentReady: Dispatch<SetStateAction<boolean>>;
    isTimeSelectWorksWithCenterWhenTimePicker?: boolean;
    multipleSelectMinimumRequireMS?: number;
    pickerType: DateTimePickerPickerType;
    selectObject: (date?: Date) => void;
    dateRange?: DateTimePickerDateRange;
    isWorkWith24HoursFormat?: boolean;
    multipleSelectMaximumMS?: number;
    variant: DateTimePickerVariant;
    isWorkWithSeconds?: boolean;
    maxDate?: Date;
    minDate?: Date;
    date?: Date;
};
export type {
    ITimeSelectorProps as default
};
