/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import { DragOverlayConfig, GridLayoutData, GridLayoutV2 } from '@nocobase/flow-engine';
import React from 'react';
import { GridModel } from '../../base';
import { FilterFormItemModel } from './FilterFormItemModel';
export declare class FilterFormGridModel extends GridModel {
    private fullLayoutBeforeCollapse?;
    private normalizedItemUidsOverride?;
    private readingFullLayoutForSettingsInteraction;
    itemSettingsMenuLevel: number;
    itemFlowSettings: {
        showBackground: boolean;
        style: {
            top: number;
            left: number;
            right: number;
            bottom: number;
        };
    };
    dragOverlayConfig: DragOverlayConfig;
    readonly loading: {
        value: boolean;
    };
    private getAssociationFilterTargetKey;
    private normalizeFilterFormLayout;
    private normalizeStoredFullLayout;
    protected normalizeLayoutFromSource(source?: Partial<GridLayoutData>): GridLayoutV2;
    getGridLayout(): GridLayoutV2;
    saveGridLayout(layout?: GridLayoutData | GridLayoutV2): void;
    handleDragStart(event: Parameters<GridModel['handleDragStart']>[0]): void;
    private collectLayoutItemUids;
    private getCellVisibleRowCount;
    private getRowVisibleRowCount;
    private limitCellByVisibleCount;
    private limitRowByVisibleCount;
    private limitLayoutRowsByVisibleCount;
    /**
     * 获取筛选表单当前“完整布局”。
     * 折叠态会临时裁剪 props.rows，因此这里优先选取行数更多的那份布局，
     * 避免拖拽排序或重新挂载后只拿到被裁剪过的运行时 rows。
     */
    private getFullLayout;
    toggleFormFieldsCollapse(collapse: boolean, visibleRows: number): void;
    onModelCreated(subModel: FilterFormItemModel): Promise<void>;
    renderAddSubModelButton(): React.JSX.Element;
}
