import type { Temporal } from "@js-temporal/polyfill"; type TemporalNowPrecision = "day" | "minute" | "second"; type TemporalNowKind = "instant" | "zoned" | "plainDateTime" | "plainDate"; type BaseTemporalNowOptions = { precision?: TemporalNowPrecision; timeZone?: string; }; type InstantOptions = BaseTemporalNowOptions & { kind?: "instant"; }; type ZonedOptions = BaseTemporalNowOptions & { kind: "zoned"; }; type PlainDateTimeOptions = BaseTemporalNowOptions & { kind: "plainDateTime"; }; type PlainDateOptions = BaseTemporalNowOptions & { kind: "plainDate"; }; type TemporalNowOptions = InstantOptions | ZonedOptions | PlainDateTimeOptions | PlainDateOptions; /** * useTemporalNow * Returns the current time as Temporal values and keeps it aligned to * the requested precision boundary. * * On the server this hook returns null so hydration remains deterministic. * Returns null while the Temporal polyfill is loading. * * @param options Configuration options for the current Temporal value * @see https://rooks.vercel.app/docs/hooks/useTemporalNow */ declare function useTemporalNow(options?: InstantOptions): Temporal.Instant | null; declare function useTemporalNow(options: ZonedOptions): Temporal.ZonedDateTime | null; declare function useTemporalNow(options: PlainDateTimeOptions): Temporal.PlainDateTime | null; declare function useTemporalNow(options: PlainDateOptions): Temporal.PlainDate | null; export { useTemporalNow }; export type { TemporalNowOptions, TemporalNowKind, TemporalNowPrecision };