import { type AnalyticalWidgetType, type IDashboardLayout, type IDashboardLayoutContainerDirection, type IDashboardLayoutItem, type IDashboardLayoutSize, type IDashboardLayoutSizeByScreenSize, type IInsight, type IInsightDefinition, type IKpi, type ISettings, type ScreenSize } from "@gooddata/sdk-model"; import { type IVisualizationSizeInfo } from "@gooddata/sdk-ui-ext"; import { type ExtendedDashboardWidget } from "../../model/types/layoutTypes.js"; import { type ILayoutItemPath } from "../../types.js"; import { type ObjRefMap } from "../metadata/objRefMap.js"; /** * @internal */ export type MeasurableWidgetContent = IInsightDefinition | IKpi; /** * @internal */ export declare function getSizeInfo(settings: ISettings, widgetType: AnalyticalWidgetType | ExtendedDashboardWidget["type"], widgetContent?: MeasurableWidgetContent): IVisualizationSizeInfo; /** * @internal */ export declare function getInsightPlaceholderSizeInfo(settings: ISettings): IVisualizationSizeInfo; /** * @internal */ export declare function getDashboardLayoutWidgetDefaultHeight(settings: ISettings, widgetType: AnalyticalWidgetType, widgetContent?: MeasurableWidgetContent): number; /** * @internal */ export declare function getDashboardLayoutWidgetMinGridHeight(settings: ISettings, widgetType: AnalyticalWidgetType | ExtendedDashboardWidget["type"], widgetContent?: MeasurableWidgetContent): number; /** * @internal */ export declare function getDashboardLayoutWidgetMaxGridHeight(settings: ISettings, widgetType: AnalyticalWidgetType | ExtendedDashboardWidget["type"], widgetContent?: MeasurableWidgetContent): number; export declare function getContainerHeight(container: IDashboardLayoutItem, screen: ScreenSize, settings: ISettings): number; /** * @internal */ export declare function getMinHeight(widgets: IDashboardLayoutItem[], insightMap: ObjRefMap, screen: ScreenSize, settings: ISettings, defaultMin?: number): number; /** * @internal */ export declare function getMaxHeight(layoutItems: IDashboardLayoutItem[], insightMap: ObjRefMap, screen: ScreenSize, settings: ISettings): number; /** * @internal */ export declare function getDashboardLayoutWidgetMinGridWidth(settings: ISettings, widgetType: AnalyticalWidgetType | ExtendedDashboardWidget["type"], widgetContent?: MeasurableWidgetContent): number; /** * @internal */ export declare function getMinWidth(widget: ExtendedDashboardWidget, insightMap: ObjRefMap, screen: ScreenSize, settings: ISettings, direction: IDashboardLayoutContainerDirection): number; export declare function normalizeItemSizeToParent(itemToCheck: IDashboardLayoutItem, itemPath: ILayoutItemPath | undefined, layout: IDashboardLayout, settings: ISettings, insightsMap: ObjRefMap, screen?: ScreenSize): { item: IDashboardLayoutItem; sizeChanged: boolean; }; /** * @internal */ export declare function calculateWidgetMinHeight(layoutItem: IDashboardLayoutItem, currentSize: IDashboardLayoutSize | undefined, insightMap: ObjRefMap, settings: ISettings, isExportMode?: boolean): number | undefined; export declare const getDashboardLayoutItemHeight: (size: IDashboardLayoutSize) => number | undefined; export declare const getDashboardLayoutItemHeightForGrid: (gridHeight: number) => number; export declare const determineSizeForScreen: (screen: ScreenSize, layoutItemSize?: IDashboardLayoutSizeByScreenSize | undefined) => IDashboardLayoutSize; export declare const determineWidthForScreen: (screen: ScreenSize, layoutItemSize?: IDashboardLayoutSizeByScreenSize | undefined) => number; /** * Derive dashboard layout size for all screens from dashboard layout size defined for xl screen. * We have only xl size saved in metadata, this will create additional screen sizes based on xl. * * @param xlSize - dashboard layout size for xl screen */ export declare function implicitLayoutItemSizeFromXlSize(xlSize: IDashboardLayoutSize): IDashboardLayoutSizeByScreenSize; /** * Divide the items into a list representing the future rows of the grid. * This is useful for performing item transformations, depending on how they really appear in the grid. * * @param items - dashboard layout items * @param parentLayoutSize - the size of parent layout, undefined if the items are in the root layout * @param screen - responsive screen class */ export declare function splitDashboardLayoutItemsAsRenderedGridRows(items: IDashboardLayoutItem[], parentLayoutSize: IDashboardLayoutSizeByScreenSize | undefined, screen: ScreenSize): IDashboardLayoutItem[][]; //# sourceMappingURL=sizing.d.ts.map