import { Cache } from './Cache'; import { ColumnSpanConfig, ModulePositioningConfig, ResponsiveModuleConfig } from './multiColumnLayout'; import { Align, Layout, Position } from './types'; export declare function getIsFlexibleLayout({ layout, width, }: { layout: Layout; width: number | null | undefined; }): boolean; export default function getLayoutAlgorithm({ align, columnWidth, gutter, items, layout, measurementStore, minCols, positionStore, width, _getColumnSpanConfig, _getResponsiveModuleConfigForSecondItem, _logTwoColWhitespace, _getModulePositioningConfig, _multiColPositionAlgoV2, }: { align: Align; columnWidth: number | undefined; gutter: number; items: ReadonlyArray; layout: Layout; measurementStore: Cache; minCols: number; positionStore: Cache; width: number | null | undefined; _getColumnSpanConfig?: (item: T) => ColumnSpanConfig; _getModulePositioningConfig?: (gridSize: number, moduleSize: number) => ModulePositioningConfig; _getResponsiveModuleConfigForSecondItem?: (item: T) => ResponsiveModuleConfig; _logTwoColWhitespace?: (additionalWhitespace: ReadonlyArray, numberOfIterations: number, columnSpan: number) => void; _multiColPositionAlgoV2?: boolean; }): (items: ReadonlyArray) => ReadonlyArray;