import { type IDashboardLayout, type IDashboardLayoutSize } from "@gooddata/sdk-model";
import { type ILayoutItemPath } from "../../../../types.js";
import { type IDashboardLayoutFacade, type IDashboardLayoutSectionFacade, type IDashboardLayoutSectionsFacade } from "./interfaces.js";
/**
 * @alpha
 */
export declare class DashboardLayoutFacade<TWidget> implements IDashboardLayoutFacade<TWidget> {
    protected layout: IDashboardLayout<TWidget>;
    protected layoutPath: ILayoutItemPath | undefined;
    private sectionsCache;
    protected constructor(layout: IDashboardLayout<TWidget>, layoutPath: ILayoutItemPath | undefined);
    /**
     * Creates an instance of DashboardLayoutFacade
     * @param layout - layout to wrap
     * @param layoutPath - path to the layout, undefined for root layout, path to parent layout item this layout resides in.
     */
    static for<TWidget>(layout: IDashboardLayout<TWidget>, layoutPath: ILayoutItemPath | undefined): IDashboardLayoutFacade<TWidget>;
    sections(): IDashboardLayoutSectionsFacade<TWidget>;
    section(rowIndex: number): IDashboardLayoutSectionFacade<TWidget> | undefined;
    nestedLayout(path: ILayoutItemPath): IDashboardLayoutFacade<TWidget> | undefined;
    size(): IDashboardLayoutSize | undefined;
    raw(): IDashboardLayout<TWidget>;
    path(): ILayoutItemPath | undefined;
}
//# sourceMappingURL=layout.d.ts.map