import { type SlotNames, type VariantProps } from '../../utils/variants.js'; /** * Scroller — an overflow behaviour, not a navigation pattern. * * The whole scroll mechanic is CSS; JavaScript only observes it (does it * overflow? where is it?) and drives the optional controls. Two custom * properties, set inline by the component, parameterise the track: * * - `--blocks-scroller-item` — each item's flex basis (the `itemBasis` prop). * It is what decides WHEN the row overflows, and the centred variant needs it * to compute its edge padding. * - `--blocks-scroller-emphasis-scale` / `-shadow` — retune the `emphasis` * lift per instance without widening the component API (the Tooltip * convention). The keyframes live in `style/interaction.css`; `@keyframes` * cannot be expressed as a utility. */ export declare const scrollerVariants: ((props?: { align?: "start" | "center" | undefined; snap?: "none" | "proximity" | "mandatory" | undefined; gap?: "xs" | "sm" | "md" | "lg" | "xl" | undefined; emphasis?: "none" | "strong" | "subtle" | undefined; scrollbar?: "hidden" | "visible" | undefined; } | undefined) => { root: (props?: ({ align?: "start" | "center" | undefined; snap?: "none" | "proximity" | "mandatory" | undefined; gap?: "xs" | "sm" | "md" | "lg" | "xl" | undefined; emphasis?: "none" | "strong" | "subtle" | undefined; scrollbar?: "hidden" | "visible" | undefined; } & { class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined; }) | undefined) => string; viewport: (props?: ({ align?: "start" | "center" | undefined; snap?: "none" | "proximity" | "mandatory" | undefined; gap?: "xs" | "sm" | "md" | "lg" | "xl" | undefined; emphasis?: "none" | "strong" | "subtle" | undefined; scrollbar?: "hidden" | "visible" | undefined; } & { class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined; }) | undefined) => string; controls: (props?: ({ align?: "start" | "center" | undefined; snap?: "none" | "proximity" | "mandatory" | undefined; gap?: "xs" | "sm" | "md" | "lg" | "xl" | undefined; emphasis?: "none" | "strong" | "subtle" | undefined; scrollbar?: "hidden" | "visible" | undefined; } & { class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined; }) | undefined) => string; control: (props?: ({ align?: "start" | "center" | undefined; snap?: "none" | "proximity" | "mandatory" | undefined; gap?: "xs" | "sm" | "md" | "lg" | "xl" | undefined; emphasis?: "none" | "strong" | "subtle" | undefined; scrollbar?: "hidden" | "visible" | undefined; } & { class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined; }) | undefined) => string; indicator: (props?: ({ align?: "start" | "center" | undefined; snap?: "none" | "proximity" | "mandatory" | undefined; gap?: "xs" | "sm" | "md" | "lg" | "xl" | undefined; emphasis?: "none" | "strong" | "subtle" | undefined; scrollbar?: "hidden" | "visible" | undefined; } & { class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined; }) | undefined) => string; dot: (props?: ({ align?: "start" | "center" | undefined; snap?: "none" | "proximity" | "mandatory" | undefined; gap?: "xs" | "sm" | "md" | "lg" | "xl" | undefined; emphasis?: "none" | "strong" | "subtle" | undefined; scrollbar?: "hidden" | "visible" | undefined; } & { class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined)[] | Record | null | undefined; }) | undefined) => string; }) & { readonly config: import("../../utils/variants.js").TVConfig; }; export type ScrollerVariants = VariantProps; /** Slot names derived from the `tv()` config above — single source of truth for `slotClasses`. */ export type ScrollerSlots = SlotNames;