import type { EngineContext } from '../wire'; import type { default as Overlays } from './overlays'; /** * Assembles the SpreaderSize's dependencies. Most come from the engine composition context; the * scrollable element is resolved through the owning Overlays instance (it is computed there and can * change on `updateSettings`), so it is read via a thunk rather than captured. * * @param {EngineContext} ctx The engine composition context. * @param {Overlays} overlays The owning Overlays coordinator. * @returns {object} The SpreaderSize dependency set. */ export declare function createSpreaderSizeDeps(ctx: EngineContext, overlays: Overlays): { wtSettings: import("../settings").default; rootWindow: Window; geometryReader: import("../domMeasure/geometryReader").GeometryReader; wtTable: import("../table/baseTable").default; getWtViewport: () => import("../viewport/viewport").default; getTopOverlay: () => import(".").Overlay; getInlineStartOverlay: () => import(".").Overlay; getBottomOverlay: () => import(".").Overlay; getScrollableElement: () => HTMLElement | Window; }; /** * The SpreaderSize dependencies, inferred from `createSpreaderSizeDeps`. */ export type SpreaderSizeDeps = ReturnType; /** * Owns the master hider/spreader sizing math: it computes the hider's width/height from the summed * cell sizes (plus the header sizes and the border compensations), writes them to the DOM, and then * delegates to the top/inline-start/bottom overlays to size their own elements. It also caches the * last measured spreader size so the coordinator can skip a redundant resize when nothing changed. * * Extracted from the Overlays coordinator so the sizing lifecycle is self-contained; the coordinator * keeps thin public `adjustElementsSize`/`updateLastSpreaderSize`/`expandHider*` delegates because * those are part of the public overlay API. * * @class SpreaderSize */ export declare class SpreaderSize { #private; /** * @param {SpreaderSizeDeps} deps The SpreaderSize dependencies. */ constructor(deps: SpreaderSizeDeps); /** * Update the last cached spreader size with the current size. * * @returns {boolean} `true` if the lastSize cache was updated, `false` otherwise. */ updateLastSpreaderSize(): boolean; /** * Adjust overlays elements size and master table size. */ adjustElementsSize(): void; /** * Expand the hider vertically element by the provided delta value. * * @param {number} heightDelta The delta value to expand the hider element by. */ expandHiderVerticallyBy(heightDelta: number): void; /** * Expand the hider horizontally element by the provided delta value. * * @param {number} widthDelta The delta value to expand the hider element by. */ expandHiderHorizontallyBy(widthDelta: number): void; }