import { WidgetLayout, WidgetManifest } from '../../../../core/model/manifest.interface'; import { DashboardCellParams } from '../../../store/dashboard.actions'; export declare const createPlacedWidgetCopy: (widget: WidgetManifest, position: WidgetLayout) => WidgetManifest; export type LayoutSizeImplementationFn = (outLayout: { x: number; y: number; height: number; width: number; }, params: Partial) => { x: number; y: number; height: number; width: number; }[]; export type LayoutPlacementOptionImplementationFn = (widgetToPlace: WidgetManifest, sizes: WidgetLayout[], params: Partial) => WidgetManifest[]; export declare const WidgetPlacementUtils: { layoutSizeImplementations: { [layout: string]: LayoutSizeImplementationFn; }; placementOptionsImplementations: { [layout: string]: LayoutPlacementOptionImplementationFn; }; layoutImages: { [layout: string]: string; }; addLayoutImplementation: (type: string, fnSizeImplementation: LayoutSizeImplementationFn, fnPlacementOptionImplementation: LayoutPlacementOptionImplementationFn, image?: string) => void; getLayouts: () => { key: string; image: string; }[]; isLeft: (w1: WidgetManifest, w2: WidgetManifest) => boolean; isBelow: (w1: WidgetManifest, w2: WidgetManifest) => boolean; areDisjoint: (w1: WidgetManifest, w2: WidgetManifest) => boolean; placementOptions: (widgetToPlace: WidgetManifest, layout: string, params: Partial) => WidgetManifest[]; getLayoutSize(layout: string, params: Partial): WidgetLayout[]; swapArrayElements: (arr: any[], x: number, y: number) => any[]; getOverlaps: (widgets: WidgetManifest[]) => WidgetManifest[][]; placesForLayout(layout: string): number; };