import { TableFilterList, TableFooter } from 'mui-datatables';
/**
 * @description
 * @export
 * @param {DataTableProps} props
 * @return {import('react').ReactComponentElement}
 */
export default function DataTable(props: DataTableProps): import('react').ReactComponentElement<any, Pick<any, string | number | symbol>>;
export function getDurableData(key: any): any;
export type DataTableCustomButton = {
    icon: import('react').ReactElement;
    title: import('react').ReactElement | string;
    onClick?: () => void;
};
export type DataTableColumn = {
    name: string;
    width?: number;
    align?: "left" | "center" | "right";
} & import('mui-datatables').MUIDataTableColumnDef;
export type DataTableState = Pick<import('mui-datatables').MUIDataTableState, "count" | "page" | "rowsPerPage" | "searchText" | "sortOrder" | "filterList">;
export type ModifiedMUIDataTableProps = {
    title?: import('react').ReactElement | string;
} & Omit<import('mui-datatables').MUIDataTableProps, "title">;
export type DataTableProps = {
    data: Array<object | number[] | string[]>;
    columns: Array<DataTableColumn>;
    locale?: import('../type').Locale;
    options?: {
        searchDebounceTime?: number;
    } & import('mui-datatables').MUIDataTableOptions;
    style?: import('react').CSSProperties;
    customButtons?: Array<DataTableCustomButton>;
    customPreButtons?: Array<DataTableCustomButton>;
    onChange?: (state: DataTableState, action: string) => void | Promise<void>;
    loading?: false | true;
    disabled?: false | true;
    stripped?: false | true;
    verticalKeyWidth?: number | string;
    hideTableHeader?: false | true;
    components?: ModifiedMUIDataTableProps["components"];
    emptyNode?: import('react').ReactNode;
    durable?: string;
    durableKeys?: "page" | "rowsPerPage" | "searchText" | "sortOrder";
    bgColor?: string;
    hoverColor?: string;
    stripColor?: string;
} & ModifiedMUIDataTableProps;
export { TableFilterList, TableFooter };
