///
import { CSSObject } from 'styled-components';
import { ConditionalStyles, TableColumn, Format, Selector, SortOrder, SortFunction } from './types';
export declare function prop(obj: T, key: K): T[K];
export declare function isEmpty(field?: string | number | undefined): boolean;
export declare function sort(rows: T[], selector: Selector | string | null | undefined, direction: SortOrder, sortFn?: SortFunction | null): T[];
export declare function parseSelector>(row: T, selector: string): T;
export declare function getProperty(row: T, selector: Selector | string | undefined | null | unknown, // unknown allows us to throw an error for JS code
format: Format | undefined | null, rowIndex: number): React.ReactNode;
export declare function insertItem(array: T[] | undefined, item: T, index?: number): T[];
export declare function removeItem(array: T[] | undefined, item: T, keyField?: string): T[];
export declare function decorateColumns(columns: TableColumn[]): TableColumn[];
export declare function getSortDirection(ascDirection?: boolean | undefined): SortOrder;
export declare function handleFunctionProps(object: {
[key: string]: unknown;
}, ...args: unknown[]): {
[key: string]: unknown;
};
export declare function getNumberOfPages(rowCount: number, rowsPerPage: number): number;
export declare function recalculatePage(prevPage: number, nextPage: number): number;
export declare const noop: () => null;
export declare function getConditionalStyle(row: T, conditionalRowStyles?: ConditionalStyles[], baseClassNames?: string[]): {
style: CSSObject;
classNames: string;
};
export declare function isRowSelected(row: T, selectedRows?: T[], keyField?: string): boolean;
export declare function isOdd(num: number): boolean;
export declare function findColumnIndexById(columns: TableColumn[], id: string | undefined): number;
export declare function equalizeId(a: string | number | undefined, b: string | number | undefined): boolean;