import type { SetStateAction } from "react"; import type { CalendarDate, CalendarDateTime, Time, ZonedDateTime } from "@internationalized/date"; import type { Field } from "soda-tanstack-form"; import { type EmptyValue } from "../components/FormProvider"; import { type DefaultTime } from "./getTimeValue"; import { type ParseMode } from "./parseTime"; export type TimeValue = Date | number; export type TimeValueMode = "date" | "timestamp"; export type TimeValueModeMap = ValueMode extends "date" ? Date : ValueMode extends "timestamp" ? number : never; export declare function getValue(value: Date | number | null | undefined, parseMode?: T): InstanceType | null; export declare function getFieldValue(field: Field, parseMode?: P): InstanceType

| null; export interface GetUpdaterParams { value: CalendarDateTime | ZonedDateTime | Time | CalendarDate | CalendarDateTime | ZonedDateTime | null; valueMode?: TimeValueMode; emptyValue?: EmptyValue; defaultTime?: DefaultTime | (() => DefaultTime); } export declare function getUpdater({ value, valueMode, emptyValue, defaultTime }: GetUpdaterParams): SetStateAction; export interface GetOnChangeParams { field: Field; valueMode?: TimeValueMode; emptyValue?: EmptyValue; defaultTime?: DefaultTime | (() => DefaultTime); } export declare function getOnChange({ field, valueMode, emptyValue, defaultTime }: GetOnChangeParams): (value: CalendarDateTime | ZonedDateTime | Time | CalendarDate | CalendarDateTime | ZonedDateTime | null) => void;