import { DateListFilter, DateListLibraryOptionId, DateListOption } from '../types';
/** Type guard for the four reserved library option ids. */
export declare const isDateListLibraryOptionId: (id: string) => id is DateListLibraryOptionId;
/** Label for a given library option id. */
export declare const getDateListLibraryOptionLabel: (id: DateListLibraryOptionId) => string;
/**
 * Full set of built-in default options available to dateList filters. All four
 * are shown below the consumer's options unless omitted via
 * `excludeDefaultOptions`. Used by FilterDateList (popover) and FilterDrawer
 * (drawer). The "…" suffix signals that picking the option opens a dialog;
 * once a date is committed, the bare label (without "…") is what gets stored
 * and shown in the filter trigger.
 */
export declare const dateListLibraryOptions: ReadonlyArray<{
    id: DateListLibraryOptionId;
    label: string;
}>;
/** Default options visible for a given dateList filter configuration. */
export declare const getVisibleDateListDefaultOptions: (filter: Pick<DateListFilter, "excludeDefaultOptions">) => ReadonlyArray<{
    id: DateListLibraryOptionId;
    label: string;
}>;
/** True when the library option opens a date-range dialog. */
export declare const isDateListRangeLibraryId: (id: DateListLibraryOptionId) => boolean;
/**
 * Build the display label for a committed dateList selection. Used by both
 * the toolbar `FilterTriggerButton` and the FilterDrawer `SelectField` so the
 * two surfaces stay in sync.
 *
 * - Selection with `value: null` (e.g. "Any day") → option label only.
 * - Custom Range library option → just the formatted range (label omitted
 *   since the range is self-explanatory).
 * - Other library or consumer options → `"<label>: <formatted>"`.
 */
export declare const formatDateListSelectionLabel: (selection: DateListOption) => string;
