import { type IDashboardLayout, type IDashboardLayoutItem, type IDashboardLayoutSection, type IDashboardWidget, type IWidget, type IWidgetDefinition } from "@gooddata/sdk-model"; /** * Has dashboard layout only empty sections and widgets? * @alpha */ export declare const isDashboardLayoutEmpty: (layout: IDashboardLayout) => boolean; /** * Represents nested path in layout * It's useful to track the layout location of the widget * Example: ["sections", 0, "items", 2, "widget"] points to the third item widget in first section * @alpha */ export type LayoutPath = Array; /** * Walk dashboard layout * This is useful to collect widgets from the layout or perform transforms on the layout * * @alpha * @param layout - dashboard layout * @param callbacks - walk callbacks * @returns void */ export declare function walkLayout(layout: IDashboardLayout, { sectionCallback, itemCallback, widgetCallback }: { sectionCallback?: (section: IDashboardLayoutSection, sectionPath: LayoutPath) => void; itemCallback?: (item: IDashboardLayoutItem, widgetPath: LayoutPath) => void; widgetCallback?: (widget: TWidget, widgetPath: LayoutPath) => void; }, path?: LayoutPath): void; /** * Widget with it's layout path * @alpha */ export interface IWidgetWithLayoutPath { path: LayoutPath; widget: TWidget; } /** * Get all dashboard widgets * (layout does not only specify rendering, but also all used widgets) * * @alpha * @param layout - dashboard layout * @param collectedWidgets - bag for collecting widgets recursively from the layout * @returns - widgets with layout paths */ export declare function layoutWidgetsWithPaths(layout: IDashboardLayout): IWidgetWithLayoutPath[]; /** * @alpha */ export declare function layoutWidgets(layout: IDashboardLayout): Array; //# sourceMappingURL=utils.d.ts.map