import { CellPosition } from '../classes/cell-position.class';
import { Column } from '../classes/column.class';
import { ColumnCollection } from '../classes/column-collection.class';
import { GridLayout } from '../classes/grid-layout.class';
import { Selection } from '../classes/selection.class';
import { DataSource } from '../classes/data-source.class';
import { GridSettings } from '../classes/grid-settings.class';
import { IEvents } from '../events.interface';
export declare class LayoutsHandler {
    settings: GridSettings;
    events: IEvents;
    dataSource: DataSource;
    selection: Selection;
    columnCollection: ColumnCollection;
    readonly layout: GridLayout;
    readonly layoutDrag: GridLayout;
    readonly layouts: GridLayout[];
    /**
     * Focused cell position
     */
    focusedCell: CellPosition;
    setLayoutsVisibility(): void;
    /**
     * Gets column by field name
     * @param  f Field name
     * @return   Column if exists
     */
    protected columnByFieldName(f: string): Column;
    /**
     * Изменение выделенной области
     * @param  cp Позиция ячейки
     */
    protected selectionChanged(cp: CellPosition): void;
    /**
     * Обновление индексов строк в списке выделенных областей
     */
    updateSelectionIndices(): void;
    /**
     * Return the column index in the column list by field name
     * @param  fieldName Name of the field to be searched
     * @return           Column index
     */
    protected columnIndex(fieldName: string): number;
    /**
     * Обновление выделенных областей для дочерних компонентов
     * @param  scrollToCell Прокрутить до указанной ячейки после обновления
     */
    updateLayoutSelections(scrollToCell?: CellPosition): CellPosition;
    /**
     * Список колонок по лэйаутам
     * @return Список колонок по лэйаутам
     */
    readonly layoutColumns: Column[];
    constructor();
}
