import { Dispatch, SetStateAction, MutableRefObject } from 'react'; import TimescapeManager, { Options, DateType, RangeOptions } from './index.js'; export { $NOW } from './index.js'; type ReactOptions = Options & { onChangeDate?: (nextDate: Date | undefined) => void; }; type UpdateFn = Dispatch>; declare const useTimescape: (options?: ReactOptions) => { readonly _manager: TimescapeManager; readonly getInputProps: (type: DateType, opts?: { ref?: MutableRefObject; autofocus?: boolean; }) => { ref: (element: HTMLInputElement | null) => void; }; readonly getRootProps: () => { ref: (element: HTMLElement | null) => void | null; }; readonly options: ReactOptions; readonly update: Dispatch>; }; type ReactRangeOptions = RangeOptions & { from?: { onChangeDate?: (nextDate: Date | undefined) => void; }; to?: { onChangeDate?: (nextDate: Date | undefined) => void; }; }; declare const useTimescapeRange: (options: ReactRangeOptions) => { readonly getRootProps: () => { ref: (element: HTMLElement | null) => void; }; readonly from: { readonly getInputProps: (type: DateType, opts?: { ref?: MutableRefObject; autofocus?: boolean; }) => { ref: (element: HTMLInputElement | null) => void; }; readonly options: ReactOptions; readonly update: Dispatch>; }; readonly to: { readonly getInputProps: (type: DateType, opts?: { ref?: MutableRefObject; autofocus?: boolean; }) => { ref: (element: HTMLInputElement | null) => void; }; readonly options: ReactOptions; readonly update: Dispatch>; }; }; export { DateType, type ReactOptions as Options, type ReactRangeOptions as RangeOptions, type ReactRangeOptions, type UpdateFn, useTimescape, useTimescapeRange };