/**
* The `date` mask, as a {@link MaskResolver}.
*
* This is not an engine branch. It is a resolver written against the same public
* contract userland gets, which is the point: date is the hardest mask Spar
* ships — per-block clamping while typing, month length, leap years, an
* inclusive range and a canonical ISO value — and it needs nothing the contract
* does not already give you.
*
* Ported from `cleave.js@1.6.0` (`shortcuts/DateFormatter.js`) with the
* corrections marked DEVIATION below. Takeoff Core still runs the uncorrected
* version, so v1 and v2 differ at exactly these points, by intent.
*/
import type { MaskDateOptions, MaskDateToken, MaskResolver } from '@/types';
/** Block sizes implied by a date pattern's tokens. */
export declare const dateBlocks: (tokens?: readonly MaskDateToken[]) => number[];
/**
* Builds the `date` mask.
*
* `` is shorthand for this; call it directly
* to wrap or compose the behaviour — a resolver that defers to the date mask and
* then rejects weekends is an ordinary function.
*
* @param options - Pattern tokens, delimiters and an optional inclusive range.
*
* @example
* ```tsx
* const birthday = createDateMask({ date: true, delimiter: '.', dateMax: '2010-12-31' });
* save(meta.iso)} />
* ```
*/
export declare const createDateMask: (options: MaskDateOptions) => MaskResolver;