import { IPageColumnDefs } from '../Page/Page';
import { IPageContentCell, IPageContent, IPageContentCellIndex } from '../Page/Content';
import { IGridCellDetails } from './GridCell';
import { IGridSelection } from './Grid';
export interface IGridPageContentCell extends IPageContentCell {
    index: IPageContentCellIndex;
}
export interface IGridPageContent extends IPageContent {
    [index: number]: IGridPageContentCell[];
}
export interface IGridPageCellPos {
    x: number;
    y: number;
}
export interface IGridPageMerges {
    [index: number]: number[];
}
export interface IGridPage {
    structured: boolean;
    uuid: string;
    scale: number;
    content: IGridPageContent;
    originalContent: IGridPageContent;
    deltaContent: IPageContent;
    rows: number;
    cols: number;
    hiddenColumns: number[];
    hiddenRows: number[];
    rowHeights: number[];
    colWidths: number[];
    width: number;
    height: number;
    selectedCols: any[];
    selectedRows: any[];
    selectedCells: any[];
    scrollTop: number;
    scrollLeft: number;
    scrollbarSize: number;
    scrollbarWidth: number;
    scrollbarHeight: number;
    selection: IGridSelection;
    headings: boolean;
    touch: boolean;
    columnsDefs: IPageColumnDefs[];
    reset(): void;
    rowPos(row: number): number;
    colPos(row: number): number;
    cellPos(row: number, col: number): IGridPageCellPos;
    resetSelection(): void;
    getColDefWidth(col: number): number;
}
declare class GridPage implements IGridPage {
    structured: boolean;
    uuid: string;
    scale: number;
    content: IGridPageContent;
    originalContent: IGridPageContent;
    deltaContent: IPageContent;
    rows: number;
    cols: number;
    hiddenColumns: number[];
    hiddenRows: number[];
    rowHeights: number[];
    colWidths: number[];
    width: number;
    height: number;
    selectedCols: any[];
    selectedRows: any[];
    selectedCells: any[];
    scrollTop: number;
    scrollLeft: number;
    scrollbarSize: number;
    scrollbarWidth: number;
    scrollbarHeight: number;
    selection: IGridSelection;
    headings: boolean;
    touch: boolean;
    columnsDefs: IPageColumnDefs[];
    reset(): void;
    resetSelection(): void;
    rowPos(row: number): number;
    colPos(row: number): number;
    cellPos(row: number, col: number): IGridPageCellPos;
    setSelectedCell(cell: IGridCellDetails): void;
    getColDefWidth(col: number): number;
}
export default GridPage;
