import { Layout, LayoutBase, PivotLayout, TableLayout } from '../../AdaptableState/LayoutState';
import { ApiBase } from '../Implementation/ApiBase';
import { ColDef, ColGroupDef } from 'ag-grid-enterprise';
import { LayoutExtensionObject, LayoutExtensionModule } from '../../types';
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;
    isObjectExtendedInLayout(object: LayoutExtensionObject, module: LayoutExtensionModule, layout: Layout): boolean;
    showLayoutNonExtendedObjects(): boolean;
    isLayoutGrouped(layout?: Layout): boolean;
    setupRowSummaries(): void;
    refreshLayout(): void;
    getChangedColumnSorts(oldSorts: LayoutBase['ColumnSorts'], newSorts: LayoutBase['ColumnSorts']): string[];
}
