/** * Exactly what `toISOString()` produces: four-digit year, `T` separator, * millisecond precision, literal `Z`. No offsets, no omitted milliseconds, no * expanded-year form — each of those breaks the lexicographic-order property. */ export declare const CANONICAL_TIMESTAMP_PATTERN: RegExp; /** * True when `value` is a canonical ISO-8601 UTC instant. * * Two checks, in order: the pattern pins the *shape*, then a round trip * through `Date` pins *calendar validity* — `2026-02-30T00:00:00.000Z` matches * the pattern and is not an instant. */ export declare function isCanonicalTimestamp(value: unknown): value is string; /** * Fail-closed gate for a caller-supplied instant. * * @param value The timestamp as received from the caller. * @param field Field name, so the failure names the contract that was missed * rather than just the bad string. * @returns The same string, so call sites can validate and assign in one step. * @throws {ByokCoreError} code `timestamp_not_canonical`. */ export declare function assertCanonicalTimestamp(value: string, field: string): string;