import { CellPosition } from '../classes/cell-position.class';
import { Column } from '../classes/column.class';
import { GridSettings } from '../classes/grid-settings.class';
import { Selection } from '../classes/selection.class';
import { DataSource } from '../classes/data-source.class';
import { ColumnCollection } from '../classes/column-collection.class';
import { IEvents } from '../events.interface';
import { LayoutsHandler } from './layouts.handler';
export declare class GridCheckHandler {
    events: IEvents;
    dataSource: DataSource;
    settings: GridSettings;
    columnCollection: ColumnCollection;
    layoutsHandler: LayoutsHandler;
    selection: Selection;
    private readonly cc;
    private readonly columns;
    /**
     * Проверка возможности переключения чекбокса (ColumnType.CHECKBOX и
     * ColumnType.BOOLEAN с возможностью изменения)
     * @param  cp Позиция ячейки
     * @return    Можно переключить или нельзя
     */
    canToggleCheck(cp: CellPosition): boolean;
    setColumnCheck(col: Column, value: boolean): void;
    /**
     * Обновление зависимых галок (чекбоксов) в гриде
     * @param  fieldName Поле чекбокса
     */
    updateCheckColumns(fieldName?: string): void;
    /**
     * Поиск первой колонки, в которой есть чекбокс.
     * @param  forEdit Поиск только редактируемых полей (dataType = ColumnType.BOOLEAN)
     * @return         Найденная колонка или null, если ничего не найдено
     */
    firstCheckableField(forEdit?: boolean): string;
    firstCheckboxField(): string;
    isRowChecked(r: any): boolean;
}
