import { LayoutAssociatedObject } from '../../AdaptableOptions/LayoutOptions';
import { AdaptableModule } from '../../AdaptableState/Common/Types';
import { Layout, PivotLayout, TableLayout } from '../../AdaptableState/LayoutState';
import { ApiBase } from '../Implementation/ApiBase';
import { ColDef, ColGroupDef } from 'ag-grid-enterprise';
export declare class LayoutInternalApi extends ApiBase {
    getNormalizedLayout(layout: TableLayout | PivotLayout): TableLayout | PivotLayout;
    sortColumnDefsByPivotAggregationOrder(columnDefs: (ColDef | ColGroupDef)[], pivotAggregationColumns: PivotLayout['PivotAggregationColumns']): (ColDef | ColGroupDef)[];
    /**
     * Compares 2 Layouts for equality
     * @param layout1 First Layout
     * @param layout2 Second Layout
     */
    areLayoutsEqual(layout1: Layout, layout2: Layout): boolean;
    /**
     * Returns what the layout supports.
     * This takes into account the data-source.
     */
    getLayoutSupportedFeatures(): {
        RowGroupedColumns: boolean;
        TableAggregationColumns: boolean;
        PivotAggregationColumns: boolean;
        PivotColumns: boolean;
        ColumnFilters: boolean;
        GridFilter: boolean;
        ColumnSorts: boolean;
        RowSummaries: boolean;
    };
    hasLayoutSpecificObjects(): boolean;
    isObjectAvailableInLayout(object: LayoutAssociatedObject, module: AdaptableModule, layout: Layout): boolean;
    showLayoutNotAssociatedObjects(): boolean;
    isLayoutGrouped(layout?: Layout): boolean;
    setupRowSummaries(): void;
    refreshLayout(): void;
}
