import type { SetStateAction } from "react"; import type { DateValue, RangeValue } from "@heroui/react"; import type { Field } from "soda-tanstack-form"; import { type EmptyValue } from "../components/FormProvider"; import { type DefaultTime } from "./getTimeValue"; import { type DateMode } from "./parseTime"; import type { TimeValueMode } from "./time"; export declare function getRangeValue(value: [Date, Date] | [number, number] | null | undefined, dateMode?: T): RangeValue | null; export declare function getFieldRangeValue(field: Field, dateMode?: P): RangeValue | null; export interface RangeDefaultTimeBase { start?: DefaultTime; end?: DefaultTime; } export type RangeDefaultTime = RangeDefaultTimeBase | DefaultTime; export interface GetRangeUpdaterParams { value: RangeValue | null; valueMode?: TimeValueMode; emptyValue?: EmptyValue; defaultTime?: RangeDefaultTime | (() => RangeDefaultTime); } export declare function getRangeUpdater({ value, valueMode, emptyValue, defaultTime, }: GetRangeUpdaterParams): SetStateAction<[Date, Date] | [number, number] | null | undefined>; export interface GetOnRangeChangeParams { field: Field; valueMode?: TimeValueMode; emptyValue?: EmptyValue; defaultTime?: RangeDefaultTime | (() => RangeDefaultTime); } export declare function getOnRangeChange({ field, valueMode, emptyValue, defaultTime, }: GetOnRangeChangeParams): (value: RangeValue | null) => void;