export declare const MIN_DASHBOARD_COLUMNS = 1; export declare const MAX_DASHBOARD_COLUMNS = 6; export declare const DEFAULT_DASHBOARD_COLUMNS = 2; export interface DashboardLayoutPanel { id: string; width?: number; columns?: number; } export type DashboardPanelRow = { key: string; panels: TPanel[]; }; export type DashboardPanelGroup = { key: string; section: TPanel | null; panels: TPanel[]; rows: DashboardPanelRow[]; columns: number; }; export type DashboardDropSlot = { type: "row"; groupKey: string; rowIndex: number; } | { type: "column"; groupKey: string; rowIndex: number; columnIndex: number; }; export type DashboardColumnExpansion = { columns: number; sectionPanelId: string | null; }; export type DashboardLayoutOptions = { isSection?: (panel: TPanel) => boolean; }; export declare function clampDashboardColumns(value: unknown): number; export declare function clampPanelWidth(value: unknown, gridColumns: number): number; export declare function rebalanceRowWidths(panels: TPanel[], columns: number): TPanel[]; export declare function buildDashboardRows(panels: TPanel[], columns: number): DashboardPanelRow[]; export declare function buildDashboardPanelGroups(panels: TPanel[], dashboardColumns: number, { isSection }?: DashboardLayoutOptions): DashboardPanelGroup[]; export declare function removePanelFromLayout(panels: TPanel[], panelId: string, dashboardColumns: number, options?: DashboardLayoutOptions): TPanel[]; export declare function dropSlotId(slot: DashboardDropSlot): string; export declare function readDropSlot(value: unknown): DashboardDropSlot | null; export declare function sameDropSlot(a: DashboardDropSlot | null, b: DashboardDropSlot): boolean; export declare function columnExpansionForDropSlot(groups: DashboardPanelGroup[], panelId: string, slot: DashboardDropSlot): DashboardColumnExpansion | null; /** Moves a panel by visible row/column slot and rebalances persisted widths. */ export declare function movePanelToDropSlot(panels: TPanel[], panelId: string, slot: DashboardDropSlot, dashboardColumns: number, options?: DashboardLayoutOptions): TPanel[]; //# sourceMappingURL=dashboard-layout.d.ts.map