/**
 * Copyright (c) ACT, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @prettier
 */
import { CSSProperties, ReactElement } from 'react';
import { EmptyStateProps } from "../EmptyState";
import { SortObject } from "../../types";
interface Column<T> {
    renderValue: (item: T) => any;
    label?: string;
    sortBy?: string;
    style?: CSSProperties;
}
export interface DataTableProps<T> {
    color?: 'default' | 'primary' | 'secondary';
    columns: Column<T>[];
    currentSortObject: SortObject;
    emptyStateProps?: EmptyStateProps;
    items: T[];
    limit?: number;
    offset?: number;
    onChangeLimit?: (limit: number) => void;
    onChangeOffset?: (offset: number) => void;
    onChangeSort: (sortObject: SortObject) => void;
    rowsPerPageOptions?: number[];
    RowWrapper?: (item: T, children: ReactElement<unknown>) => ReactElement<unknown>;
    totalCount?: number;
}
export declare const DataTable: {
    <T>({ color, columns, currentSortObject, emptyStateProps, items, limit, offset, onChangeLimit, onChangeOffset, onChangeSort, rowsPerPageOptions, RowWrapper, totalCount, }: DataTableProps<T>): ReactElement<unknown>;
    defaultProps: {
        color: string;
        emptyStateProps: undefined;
        limit: undefined;
        offset: undefined;
        onChangeLimit: undefined;
        onChangeOffset: undefined;
        rowsPerPageOptions: undefined;
        RowWrapper: undefined;
        totalCount: undefined;
    };
};
export default DataTable;
//# sourceMappingURL=index.d.ts.map