import type { ReactNode } from "react"; import type { PaletteProps } from "../../Theme/tokens/types"; export declare const DAY_STATE_KEYS: readonly ["weekly-off", "holiday", "optional-holiday", "excluded", "disabled"]; export type DayStateKey = (typeof DAY_STATE_KEYS)[number]; /** Returns zero or more state keys for a day. Unrecognised keys are announced, never styled. */ export type DayStates = (date: Date) => string[] | undefined; /** Custom content rendered inside a day cell, beneath the day number. */ export type RenderDayContent = (date: Date, states: string[]) => ReactNode; /** What a resolved set of states paints. Every field is optional — an absent field changes nothing. */ export type DayStateVisual = { /** Tint painted across the whole cell. The range band always wins over it. */ cellBg?: string; /** Ink for the day number. Never applied to a selected/endpoint day, whose fill owns its ink. */ color?: string; /** `border` shorthand for the day circle, replacing the today/tentative ring. */ border?: string; /** Fill of the small marker dot under the number. `renderDayContent` replaces it. */ markerColor?: string; /** Strikes the day number through — the "counted, but not really" states. */ strikethrough?: boolean; /** The one state that also blocks selection. Marking alone never does. */ blocksSelection?: boolean; }; export declare const isDayStateKey: (key: string) => key is DayStateKey; /** Merges every recognised state in `DAY_STATE_KEYS` order, so precedence never depends on caller order. */ export declare const resolveDayStateVisual: (states: string[], colors: PaletteProps) => DayStateVisual; /** Base class on every day button once `dayStates` is supplied. Consumers may style off it. */ export declare const DAY_CLASS = "pxl-calendar-day"; /** `["Onam", "holiday"]` → `"pxl-calendar-day pxl-calendar-day--onam pxl-calendar-day--holiday"`. */ export declare const dayStateClassName: (states: string[]) => string; /** Human phrasing for the accessible name — every key, styled or not, in the caller's own order. */ export declare const describeDayStates: (states: string[]) => string; export declare const dayAccessibleName: (formattedDate: string, states: string[]) => string;