import type { AgWidgetLayoutState } from '../../api/state/agWidgetLayoutState'; import type { DragAnchor } from '../interfaces/studioDrag'; export interface StudioLayout { horizontalPadding: number; verticalPadding: number; columns: number; rows: number | undefined; rowHeight: number; columnWidth: number; } export declare enum Direction { Up = 1, Down = 2, Left = 4, Right = 8, None = 0, All = 15 } export declare function childLayoutShiftPosition(studioLayout: StudioLayout, layout: AgWidgetLayoutState, dx: number, dy: number, layouts: AgWidgetLayoutState[]): AgWidgetLayoutState | undefined; export declare function childLayoutShiftSize(studioLayout: StudioLayout, layout: AgWidgetLayoutState, dx: number, dy: number, layouts: AgWidgetLayoutState[]): AgWidgetLayoutState | undefined; export declare function childLayoutResizePosition(studioLayout: StudioLayout, { xTrack: targetXTrack, yTrack: targetYTrack }: Pick, { xSpan: minXSpan, ySpan: minYSpan }: Pick, anchor: DragAnchor, layout: AgWidgetLayoutState, layouts: AgWidgetLayoutState[]): AgWidgetLayoutState | undefined; export declare function childLayoutFittingSizeUnbounded(studioLayout: StudioLayout, { xSpan, ySpan }: Pick, layouts: AgWidgetLayoutState[]): AgWidgetLayoutState; export declare function childLayoutDefaultPosition(studioLayout: StudioLayout, xSpan: number, [minYSpan, maxYSpan]: [number, number], layouts: AgWidgetLayoutState[]): AgWidgetLayoutState | undefined; export declare function childLayoutClosestAvoidingCollisions(studioLayout: StudioLayout, { xSpan: minXSpan, ySpan: minYSpan }: Pick, layout: AgWidgetLayoutState, layouts: AgWidgetLayoutState[]): AgWidgetLayoutState | undefined; export declare function findFreeLayouts(studioLayout: StudioLayout, layouts: AgWidgetLayoutState[], yRows: number): AgWidgetLayoutState[];