import { type IDashboardLayoutSection, type IDashboardLayoutSectionHeader } from "@gooddata/sdk-model";
import { type ILayoutSectionPath } from "../../../../types.js";
import { type IDashboardLayoutFacade, type IDashboardLayoutItemFacade, type IDashboardLayoutItemsFacade, type IDashboardLayoutSectionFacade } from "./interfaces.js";
/**
 * @alpha
 */
export declare class DashboardLayoutSectionFacade<TContent> implements IDashboardLayoutSectionFacade<TContent> {
    protected readonly layoutFacade: IDashboardLayoutFacade<TContent>;
    protected readonly section: IDashboardLayoutSection<TContent>;
    protected readonly sectionIndex: ILayoutSectionPath;
    protected constructor(layoutFacade: IDashboardLayoutFacade<TContent>, section: IDashboardLayoutSection<TContent>, sectionIndex: ILayoutSectionPath);
    static for<TContent>(layoutFacade: IDashboardLayoutFacade<TContent>, section: IDashboardLayoutSection<TContent>, index: ILayoutSectionPath): IDashboardLayoutSectionFacade<TContent>;
    raw(): IDashboardLayoutSection<TContent>;
    header(): IDashboardLayoutSectionHeader | undefined;
    title(): string | undefined;
    description(): string | undefined;
    index(): ILayoutSectionPath;
    isFirst(): boolean;
    isLast(): boolean;
    testRaw(pred: (section: IDashboardLayoutSection<TContent>) => boolean): boolean;
    test(pred: (section: IDashboardLayoutSectionFacade<TContent>) => boolean): boolean;
    indexIs(index: ILayoutSectionPath): boolean;
    headerEquals(header: IDashboardLayoutSectionHeader): boolean;
    hasHeader(): boolean;
    hasTitle(): boolean;
    hasDescription(): boolean;
    titleEquals(title: string): boolean;
    descriptionEquals(description: string): boolean;
    isEmpty(): boolean;
    items(): IDashboardLayoutItemsFacade<TContent>;
    item(index: number): IDashboardLayoutItemFacade<TContent> | undefined;
    layout(): IDashboardLayoutFacade<TContent>;
}
//# sourceMappingURL=section.d.ts.map