/** * THE FILTER LINE'S FIT — the pure half of `FilterBand`: whether a desk's one line seats the status side by * side or as its one chip, and whether the chips need a line of their own. */ /** What a typed name needs; the search gives way down to it before a chip leaves the line. */ export declare const SEARCH_FLOOR = 160; export interface FilterLine { /** The band's own width. */ room: number; /** Between two parts of the line. */ gap: number; /** The parts that stand whatever the width — the search at its floor, the trailing press, the action. */ fixed: readonly number[]; /** The status side by side, and folded into its one chip — unknown until it has been drawn so. */ status?: { wide: number; folded: number | undefined; }; /** Every other chip: the filters, the grouping, the order. */ chips: readonly number[]; } export interface LineFit { /** The status stands as its one chip. */ foldStatus: boolean; /** Even folded the line cannot seat the chips: they take lines of their own under it. */ split: boolean; } /** * The status folds into its one chip wherever its chips side by side would not leave the line room; only * where even the folded chip leaves none do the chips take lines of their own — never a chip dropped. The * folded chip is asked for unmeasured first, so the next pass reads its width. */ export declare function fitFilterLine(line: FilterLine): LineFit;