import type { Locator, Page } from 'playwright';
export type GridSortDirection = 'ascending' | 'descending';
export type GridTextMatch = 'contain' | 'equal';
export type GridClickType = 'click' | 'doubleClick' | 'rightClick';
export type GridTarget = number | string;
export interface GridRowMatch {
    lookupColumn: string;
    lookupValue: string;
    targetColumn: string;
}
export type GridJsonRow = Record<string, string>;
export declare function getGrid(page: Page, gridTarget?: GridTarget): Promise<Locator>;
export declare function getGridRows(page: Page, gridTarget?: GridTarget): Promise<Locator>;
export declare function assertGridVisible(page: Page, gridTarget?: GridTarget): Promise<void>;
export declare function assertGridRowCount(page: Page, expectedCount: number, gridTarget?: GridTarget): Promise<void>;
export declare function assertGridMinimumRowCount(page: Page, minimumCount: number, gridTarget?: GridTarget): Promise<void>;
export declare function assertGridColumnVisible(page: Page, columnName: string, gridTarget?: GridTarget): Promise<void>;
export declare function getGridCellByRowIndex(page: Page, rowIndex: number, columnName: string, gridTarget?: GridTarget): Promise<Locator>;
export declare function getGridCellByRowValue(page: Page, match: GridRowMatch, gridTarget?: GridTarget): Promise<Locator>;
export declare function assertGridCellText(cell: Locator, expectedText: string, match: GridTextMatch): Promise<void>;
export declare function interactWithGridCell(cell: Locator, clickType: GridClickType): Promise<void>;
export declare function editGridCell(cell: Locator, value: string): Promise<void>;
export declare function sortGridColumn(page: Page, columnName: string, direction: GridSortDirection, gridTarget?: GridTarget): Promise<void>;
export declare function filterGridColumn(page: Page, columnName: string, value: string, gridTarget?: GridTarget): Promise<void>;
export declare function clearGridColumnFilter(page: Page, columnName: string, gridTarget?: GridTarget): Promise<void>;
export declare function extractGridAsJson(page: Page, gridTarget?: GridTarget): Promise<GridJsonRow[]>;
export declare function stringifyGridJson(rows: GridJsonRow[]): string;
