import { type ReactElement } from "react";
import { type IDashboardLayoutSizeByScreenSize } from "@gooddata/sdk-model";
import { type IDashboardLayoutSectionFacade } from "../../../_staging/dashboard/flexibleLayout/facade/interfaces.js";
import { type ILayoutItemPath, type RenderMode } from "../../../types.js";
import { type IDashboardLayoutGridRowRenderer, type IDashboardLayoutItemKeyGetter, type IDashboardLayoutItemRenderer, type IDashboardLayoutSectionHeaderRenderer, type IDashboardLayoutSectionKeyGetter, type IDashboardLayoutSectionRenderer, type IDashboardLayoutWidgetRenderer } from "./interfaces.js";
/**
 * @alpha
 */
export interface IDashboardLayoutSectionProps<TWidget> {
    section: IDashboardLayoutSectionFacade<TWidget>;
    sectionKeyGetter?: IDashboardLayoutSectionKeyGetter<TWidget>;
    sectionRenderer?: IDashboardLayoutSectionRenderer<TWidget>;
    sectionHeaderRenderer?: IDashboardLayoutSectionHeaderRenderer<TWidget>;
    itemKeyGetter?: IDashboardLayoutItemKeyGetter<TWidget>;
    itemRenderer?: IDashboardLayoutItemRenderer<TWidget>;
    widgetRenderer: IDashboardLayoutWidgetRenderer<TWidget>;
    gridRowRenderer?: IDashboardLayoutGridRowRenderer<TWidget>;
    getLayoutDimensions: () => DOMRect;
    renderMode: RenderMode;
    isDraggingWidget?: boolean;
    parentLayoutItemSize?: IDashboardLayoutSizeByScreenSize;
    parentLayoutPath: ILayoutItemPath | undefined;
}
export declare function DashboardLayoutSection<TWidget>({ section, sectionRenderer, sectionHeaderRenderer, itemKeyGetter, gridRowRenderer, itemRenderer, widgetRenderer, getLayoutDimensions, renderMode, parentLayoutItemSize, parentLayoutPath }: IDashboardLayoutSectionProps<TWidget>): ReactElement;
//# sourceMappingURL=DashboardLayoutSection.d.ts.map