import { ApiBase } from './ApiBase';
import { LayoutApi } from '../LayoutApi';
import { Layout, LayoutState } from '../../PredefinedConfig/LayoutState';
import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
import { ColumnSort } from '../../PredefinedConfig/Common/ColumnSort';
import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
import { LayoutInternalApi } from '../Internal/LayoutInternalApi';
import { ExtendedLayoutInfo } from '../../PredefinedConfig/Common/ExtendedLayoutInfo';
export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
    internalApi: LayoutInternalApi;
    constructor(_adaptable: IAdaptable);
    isCurrentLayoutPivot(): boolean;
    getLayoutState(): LayoutState;
    shouldAutoSaveLayouts: () => boolean;
    getCurrentVisibleColumnIdsMap(): {
        [key: string]: boolean;
    };
    getCurrentVisibleColumnIds(): string[];
    getCurrentRowGroupsColumnIds(): string[];
    setLayout(layoutName: string): void;
    getCurrentLayout(): Layout;
    getCurrentLayoutColumnSort(columnId: string): ColumnSort['SortOrder'] | null;
    getCurrentLayoutName(): string;
    getLayoutByName(layoutName: string): Layout | null;
    getExtendedLayoutByName(layoutName: string): ExtendedLayoutInfo | undefined;
    getLayouts(): Layout[];
    getLayoutById(id: Layout['Uuid']): Layout;
    saveCurrentLayout(): void;
    doesLayoutExist(layout: Layout): boolean;
    createAndSetLayout(layoutToCreate: Layout): Layout | false;
    createLayout(layoutToCreate: Layout): Layout | false;
    cloneAndSetLayout(layoutToClone: Layout, layoutName: string): Layout | false;
    cloneLayout(layoutToClone: Layout, layoutName: string): Layout | false;
    setColumnCaption(columnId: string, caption: string): void;
    createOrUpdateLayout(layout: Layout): void;
    showChangeColumnCaption(column: AdaptableColumn): void;
    openLayoutSettingsPanel(): void;
    showLayoutEditor(layoutName?: string, action?: ModuleParams['action']): void;
    isCurrentLayoutReadOnly(): boolean;
    deleteLayout(layout: Layout): void;
    deleteLayoutByName(layoutName: string): void;
    isDefaultLayout(layout: Layout): boolean;
    isCurrentLayoutDefault(): boolean;
    removeColumnFromCurrentLayout(columnId: string): void;
    removeColumnFromAllLayouts(columnId: string): void;
    removeColumnFromLayout(columnId: string, layoutName: string): void;
    addColumnToLayout(columnId: string, layoutName: string): void;
    addColumnToCurrentLayout(columnId: string): void;
}
