import { Dayjs } from 'dayjs'; /** * Converts a Dayjs picker value to a UTC ISO timestamp anchored at the user's * LOCAL day boundary. * * Used by date-range filter bars where the BE expects a full ISO timestamp * boundary — `OccurredFrom` is start-of-local-day, `OccurredTo` is * end-of-local-day so the filter is inclusive of the user's calendar day * regardless of their timezone. * * Critical: hardcoding `T00:00:00.000Z` on the formatted date treats the picker * value as UTC, which shifts the boundary by the user's offset (e.g. a user in * Europe/London during BST loses the first hour of their local day). * `startOf("day")` / `endOf("day")` give the local boundary; `.toISOString()` * then converts to UTC for the wire. * * Lives behind the `@ethisyscore/core-utils/date/dayjs` sub-path so the core * entry stays free of the optional `dayjs` peer dependency. * * @param value - The Dayjs picker value (or null when the user cleared the field) * @param endOfDay - When true, returns the end-of-local-day boundary * @returns ISO timestamp string in UTC, or undefined when the value is null/invalid */ declare function dayjsToIsoDayBoundary(value: Dayjs | null | undefined, endOfDay?: boolean): string | undefined; export { dayjsToIsoDayBoundary };