import type { ComputedRef, MaybeRefOrGetter } from "vue"; export type XyOverflowCollapseFrom = "end" | "start"; export interface XyOverflowItem { key: string; width: number; } export interface XyOverflowOptions { availableWidth?: number; collapseFrom?: XyOverflowCollapseFrom; minVisibleCount?: number; overflowIndicatorWidth?: number; preserveKeys?: readonly string[]; } export interface XyOverflowResult { hiddenItems: T[]; hiddenKeys: string[]; isOverflowing: boolean; overflowIndicatorWidth: number; totalWidth: number; usedWidth: number; visibleItems: T[]; visibleKeys: string[]; visibleWidth: number; } export interface XyUseOverflowApi { hiddenItems: ComputedRef; hiddenKeys: ComputedRef; isOverflowing: ComputedRef; result: ComputedRef>; visibleItems: ComputedRef; visibleKeys: ComputedRef; } export declare function calculateOverflow(items: readonly T[], options?: XyOverflowOptions): XyOverflowResult; export declare function useOverflow(items: MaybeRefOrGetter, options?: MaybeRefOrGetter): XyUseOverflowApi;