/// <reference types="react" />
import { ITableMuiProps } from "@dccs/react-table-mui/lib/Props";
import { IDataState, IUseDataStateProps } from ".";
import { IDataGridTexts } from "./IDataGridTexts";
import { IParams } from "./IParams";
export type IDataGridProps<T extends object, F extends object> = Omit<ITableMuiProps<T, F>, "data"> & {
    texts?: IDataGridTexts;
    disablePaging?: boolean;
    renderLoading?: () => React.ReactElement;
    renderError?: (load: () => void, errorText?: string, reloadText?: string) => React.ReactElement;
    renderPaging?: (props: IRenderPagingProps<T, F>) => React.ReactElement;
};
export interface IDataGridWithExternalStateProps<T extends object, F extends object> extends IDataGridProps<T, F> {
    state?: IDataState<T, F>;
}
export interface IDataGridWithInternalStateProps<T extends object, F extends object> extends IDataGridProps<T, F>, IUseDataStateProps<T, F> {
}
export interface IRenderPagingProps<T extends object, F extends object> extends IParams<T, F> {
    backIconButtonText?: string;
    nextIconButtonText?: string;
    labelRowsPerPage?: string;
    labelDisplayedRows?: ({ count, from, to, }: {
        count?: number;
        from?: number;
        to?: number;
    }) => string;
    handleChangePage: (page: number) => void;
    handleChangeRowsPerPage: (rows: number) => void;
}
