import type { IsoTimeStamp } from '../../domain.objects/IsoTimeStamp'; import { castInputToDate } from '../../domain.operations/casts/castInputToDate'; /** * .what = casts input to IsoTimeStamp format in UTC * .why = converts various input types to strict ISO timestamp * .format = yyyy-MM-ddTHH:mm:ssZ or yyyy-MM-ddTHH:mm:ss.SSSZ * * timezone is always 'utc' (the Z suffix in ISO 8601) * * precision modulates the precision of seconds: * - 'whole.x10^0' = whole seconds (strip milliseconds) * - 'milli.x10^-3' = milliseconds (include .SSS) * - undefined = auto-detect (include ms if non-zero) * * @example * asIsoTimeStamp(new Date()) // auto-detect: includes ms if non-zero * asIsoTimeStamp(date, { precision: 'milli.x10^-3' }) // always include milliseconds * asIsoTimeStamp(date, { precision: 'whole.x10^0' }) // always strip milliseconds */ export declare const asIsoTimeStamp: (input: Parameters[0], options?: { /** output timezone — always 'utc' (the Z suffix in ISO 8601) */ timezone?: 'utc'; /** modulates precision of seconds: 'whole.x10^0' (seconds) or 'milli.x10^-3' (milliseconds) */ precision?: 'milli.x10^-3' | 'whole.x10^0'; }) => IsoTimeStamp; /** * .what = validates string is IsoTimeStamp format * .why = runtime validation for external input * .accepts = yyyy-MM-ddTHH:mm:ssZ or yyyy-MM-ddTHH:mm:ss.SSSZ */ export declare const isIsoTimeStamp: import("type-fns").AssessWithAssure>;