import { Locator } from "@playwright/test";
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): Locator;
    /**
     *
     * @param {number} rowIndex = 0 stands for header row
     * @param {number} cellIndex
     * @returns {Locator}
     */
    getCell(rowIndex: number, cellIndex: number): Locator;
    getRowContent(rowIndex: number): Promise<Array<string>>;
    getRow: (rowIndex: number) => Locator;
    getRowsCount(): Promise<number>;
    /**
     * Check whether a row is selected
     */
    isRowSelected: (rowIndex: number) => Promise<void>;
    /**
     * Check whether any part of a row can be clicked to make a selection (not just the checkbox)
     */
    isRowClickable: (rowIndex: number) => Promise<void>;
    /**
     * Check whether any part of a row can be clicked to make a selection (not just the checkbox)
     */
    isNotRowClickable: (rowIndex: number) => Promise<void>;
    /**
     *
     * @deprecated
     * @param {number} rowIndex = 0 stands for header row
     * @param {number} cellIndex
     * @returns {Promise<string>}
     */
    getCellText: (rowIndex: number, cellIndex: number) => Promise<string | null>;
    /**
     * Gets all the resizers of table
     * @returns {Locator}
     */
    getResizers: () => Locator;
    /**
     * Gets all header cells of the table
     * @returns {Locator}
     */
    getHeaderCells: () => Locator;
    getSortingIcon(headerCell: Locator): IconAtom;
    getHeaderCellsWithIcon: () => Locator;
    checkSortingIcons(expectedCellWithIconIndex: number): Promise<void>;
    getCheckbox: (element: Locator) => CheckboxAtom;
    getSelector: (element: Locator) => 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 checker
     * the function to check if the row has some expectation
     * Pass 'false' to check whether clicking to select is disabled for all body rows.
     *
     * @returns The aggregate clickability status for all body rows
     */
    checkRow(checker?: (index: number) => Promise<void>): Promise<void>;
    checkRowClickability(all: boolean): Promise<void>;
    /**
     * Checks if all checkboxes in all rows selected
     */
    isAllRowsSelected(): Promise<boolean>;
    /**
     * Checks if all checkboxes in all rows selected
     */
    isAllRowsNotSelected(): Promise<boolean>;
    private isSortingIconDisplayed;
    private isNotSortingIconDisplayed;
}
