import { ElementArrayFinder, ElementFinder } from "protractor";
import { Atom } from "../../atom";
import { CheckboxAtom } from "../checkbox/checkbox.atom";
import { IconAtom } from "../icon/icon.atom";
import { SelectorAtom } from "../selector/selector.atom";
export declare class TableAtom extends Atom {
    static CSS_CLASS: string;
    getColumn(name: string): ElementFinder;
    /**
     *
     * @param {number} rowIndex = 0 stands for header row
     * @param {number} cellIndex
     * @returns {ElementFinder}
     */
    getCell(rowIndex: number, cellIndex: number): ElementFinder;
    getRowContent(rowIndex: number): Promise<Array<any>>;
    getRow: (rowIndex: number) => ElementFinder;
    getRowsCount(): Promise<number>;
    /**
     * Check whether a row is selected
     */
    isRowSelected: (rowIndex: number) => Promise<boolean>;
    /**
     * Check whether any part of a row can be clicked to make a selection (not just the checkbox)
     */
    isRowClickable: (rowIndex: number) => Promise<boolean>;
    /**
     *
     * @param {number} rowIndex = 0 stands for header row
     * @param {number} cellIndex
     * @returns {Promise<string>}
     */
    getCellText: (rowIndex: number, cellIndex: number) => Promise<string>;
    /**
     * Gets all the resizers of table
     * @returns {ElementArrayFinder}
     */
    getResizers: () => ElementArrayFinder;
    /**
     * Gets all header cells of the table
     * @returns {ElementArrayFinder}
     */
    getHeaderCells: () => ElementArrayFinder;
    getSortingIcon: (headerCell: ElementFinder) => IconAtom;
    getHeaderCellsWithIcon: () => ElementArrayFinder;
    checkSortingIcons(expectedCellWithIconIndex: number): Promise<void>;
    getCheckbox: (element: ElementFinder) => CheckboxAtom;
    getSelector: (element: ElementFinder) => SelectorAtom;
    /**
     * Use this method to check whether selection is enabled or disabled for all rows including the header
     *
     * @param enabled Pass 'true' if you want to check whether selection is enabled for all rows including the header.
     * Pass 'false' to check whether selection is disabled for all rows including the header.
     *
     * @returns The aggregate selectability status for all rows
     */
    checkSelectability(enabled: boolean): Promise<boolean>;
    /**
     * Use this method to check whether selection by clicking on a row is enabled or disabled for all body rows.
     * (When row clicking is enabled, the user doesn't have to specifically click the checkbox in order to select the row.)
     *
     * @param enabled Pass 'true' if you want to check whether clicking to select is enabled for all body rows.
     * Pass 'false' to check whether clicking to select is disabled for all body rows.
     *
     * @returns The aggregate clickability status for all body rows
     */
    checkRowClickability(enabled: boolean): Promise<boolean>;
    /**
     * Checks if all checkboxes in all rows selected
     */
    isAllRowsSelected(): Promise<boolean>;
    private isSortingIconDisplayed;
}
