import { default as React } from 'react';
import { MaterialTableColumnProps, TypeBooleanLabels } from '../components/material-table/material-table';
import { TFunction } from 'i18next';
import { MRT_Row, MRT_RowData } from 'material-react-table';

export declare const getFileNamesFromUrlsAsLink: (fileUrls: string | string[], mode?: string) => import("react/jsx-runtime").JSX.Element;
export declare const getFileNamesFromUrls: (fileUrls: string[]) => import("react/jsx-runtime").JSX.Element[];
export type CurrencySymbolFn = (row: MRT_Row<MRT_RowData>) => string;
export type StatusClassesFn = (row: MRT_Row<MRT_RowData>) => string;
export type RedirectionLinkFn = (row: MRT_Row<MRT_RowData>) => string;
export interface ITransformTableColumns {
    columns: MaterialTableColumnProps[];
    currencySymbol?: string | CurrencySymbolFn;
    translationFn?: TFunction<'translation', undefined>;
    enableFooter?: boolean;
    redirectionLink?: string | RedirectionLinkFn;
    redirectionLinkState?: (row: MRT_Row<MRT_RowData>) => void;
    redirectionPathWithId?: string;
    idField?: string;
    customizeValue?: (row: MRT_Row<MRT_RowData>, columnAccessorKey?: string, value?: any) => any;
    statusClasses?: string | StatusClassesFn;
    rows: any[];
    currencyFormat?: boolean;
    fraction?: number;
}
export declare const transformTableColumns: ({ columns, currencySymbol, translationFn, enableFooter, redirectionLink, redirectionLinkState, redirectionPathWithId, idField, statusClasses, rows, customizeValue, currencyFormat, fraction }: ITransformTableColumns) => {
    Footer: ({ column }: {
        column: any;
    }) => import("react/jsx-runtime").JSX.Element;
    header: string;
    Cell: ({ renderedCellValue, row }: any) => any;
    visible?: boolean;
    type?: string;
    showDefaultCurrency?: boolean;
    valueGet?: string;
    custom_class?: string;
    typeArrayAccessorKey?: string;
    typeBooleanLabels?: TypeBooleanLabels;
    editVariant?: import('material-react-table').MRT_ColumnDef<MRT_RowData>["editVariant"] | ("number" | "time" | "image" | "checkbox" | "date" | "file" | "date_time" | "phone");
    editProperties?: {
        field_name?: string;
        valueKey?: string;
        placeholder?: string;
        dateFormat?: string;
        validations?: any[];
        is_multiple?: boolean;
        is_multiline?: boolean;
        disable?: boolean | ((row: any, virtualRow?: any) => boolean);
    };
    redirectionPathWithId?: string;
    handleRowClick?: (row: any) => void;
    idField?: string;
    size?: number;
    columns?: import('material-react-table').MRT_ColumnDef<MRT_RowData, unknown>[];
    accessorKey?: string | (string & {});
    footer?: string;
    meta?: import('@tanstack/table-core').ColumnMeta<MRT_RowData, unknown>;
    id?: import('material-react-table').LiteralUnion<string, string>;
    Edit?: (props: {
        cell: import('material-react-table').MRT_Cell<MRT_RowData, unknown>;
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        row: MRT_Row<MRT_RowData>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => React.ReactNode;
    Filter?: (props: {
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        header: import('material-react-table').MRT_Header<MRT_RowData>;
        rangeFilterIndex?: number;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => React.ReactNode;
    aggregationFn?: import('material-react-table').MRT_AggregationFn<MRT_RowData> | import('material-react-table').MRT_AggregationFn<MRT_RowData>[];
    filterFn?: import('material-react-table').MRT_FilterFn<MRT_RowData>;
    sortingFn?: import('material-react-table').MRT_SortingFn<MRT_RowData>;
    getUniqueValues?: import('@tanstack/table-core').AccessorFn<MRT_RowData, unknown[]>;
    enableHiding?: boolean;
    enablePinning?: boolean;
    enableColumnFilter?: boolean;
    enableGlobalFilter?: boolean;
    enableMultiSort?: boolean;
    enableSorting?: boolean;
    invertSorting?: boolean;
    sortDescFirst?: boolean;
    sortUndefined?: false | -1 | 1 | "first" | "last";
    enableGrouping?: boolean;
    getGroupingValue?: (row: MRT_RowData) => any;
    enableResizing?: boolean;
    maxSize?: number;
    minSize?: number;
    accessorFn?: (originalRow: MRT_RowData) => unknown;
    AggregatedCell?: (props: {
        cell: import('material-react-table').MRT_Cell<MRT_RowData, unknown>;
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        row: MRT_Row<MRT_RowData>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
        staticColumnIndex?: number;
        staticRowIndex?: number;
    }) => React.ReactNode;
    GroupedCell?: (props: {
        cell: import('material-react-table').MRT_Cell<MRT_RowData, unknown>;
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        row: MRT_Row<MRT_RowData>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
        staticColumnIndex?: number;
        staticRowIndex?: number;
    }) => React.ReactNode;
    Header?: React.ReactNode | ((props: {
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        header: import('material-react-table').MRT_Header<MRT_RowData>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => React.ReactNode);
    PlaceholderCell?: (props: {
        cell: import('material-react-table').MRT_Cell<MRT_RowData, unknown>;
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        row: MRT_Row<MRT_RowData>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => React.ReactNode;
    columnDefType?: "data" | "display" | "group";
    columnFilterModeOptions?: Array<import('material-react-table').LiteralUnion<string & import('material-react-table').MRT_FilterOption>> | null;
    editSelectOptions?: import('material-react-table').DropdownOption[] | ((props: {
        cell: import('material-react-table').MRT_Cell<MRT_RowData, unknown>;
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        row: MRT_Row<MRT_RowData>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('material-react-table').DropdownOption[]);
    enableClickToCopy?: boolean | "context-menu" | ((cell: import('material-react-table').MRT_Cell<MRT_RowData, unknown>) => "context-menu" | boolean);
    enableColumnActions?: boolean;
    enableColumnDragging?: boolean;
    enableColumnFilterModes?: boolean;
    enableColumnOrdering?: boolean;
    enableEditing?: boolean | ((row: MRT_Row<MRT_RowData>) => boolean);
    enableFilterMatchHighlighting?: boolean;
    filterSelectOptions?: import('material-react-table').DropdownOption[];
    filterVariant?: "autocomplete" | "checkbox" | "date" | "date-range" | "datetime" | "datetime-range" | "multi-select" | "range" | "range-slider" | "select" | "text" | "time" | "time-range";
    grow?: boolean | number;
    muiColumnActionsButtonProps?: import('@mui/material').IconButtonProps | ((props: {
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('@mui/material').IconButtonProps);
    muiColumnDragHandleProps?: import('@mui/material').IconButtonProps | ((props: {
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('@mui/material').IconButtonProps);
    muiCopyButtonProps?: import('@mui/material').ButtonProps | ((props: {
        cell: import('material-react-table').MRT_Cell<MRT_RowData, unknown>;
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        row: MRT_Row<MRT_RowData>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('@mui/material').ButtonProps);
    muiEditTextFieldProps?: import('@mui/material').TextFieldProps | ((props: {
        cell: import('material-react-table').MRT_Cell<MRT_RowData, unknown>;
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        row: MRT_Row<MRT_RowData>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('@mui/material').TextFieldProps);
    muiFilterAutocompleteProps?: import('@mui/material').AutocompleteProps<any, any, any, any, "div"> | ((props: {
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('@mui/material').AutocompleteProps<any, any, any, any>);
    muiFilterCheckboxProps?: import('@mui/material').CheckboxProps | ((props: {
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('@mui/material').CheckboxProps);
    muiFilterDatePickerProps?: import('@mui/x-date-pickers').DatePickerProps<never> | ((props: {
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        rangeFilterIndex?: number;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('@mui/x-date-pickers').DatePickerProps<never>);
    muiFilterDateTimePickerProps?: import('@mui/x-date-pickers').DateTimePickerProps<never> | ((props: {
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        rangeFilterIndex?: number;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('@mui/x-date-pickers').DateTimePickerProps<never>);
    muiFilterSliderProps?: import('@mui/material').SliderProps | ((props: {
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('@mui/material').SliderProps);
    muiFilterTextFieldProps?: import('@mui/material').TextFieldProps | ((props: {
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        rangeFilterIndex?: number;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('@mui/material').TextFieldProps);
    muiFilterTimePickerProps?: import('@mui/x-date-pickers').TimePickerProps<never> | ((props: {
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        rangeFilterIndex?: number;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('@mui/x-date-pickers').TimePickerProps<never>);
    muiTableBodyCellProps?: import('@mui/material').TableCellProps | ((props: {
        cell: import('material-react-table').MRT_Cell<MRT_RowData, unknown>;
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        row: MRT_Row<MRT_RowData>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('@mui/material').TableCellProps);
    muiTableFooterCellProps?: import('@mui/material').TableCellProps | ((props: {
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('@mui/material').TableCellProps);
    muiTableHeadCellProps?: import('@mui/material').TableCellProps | ((props: {
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => import('@mui/material').TableCellProps);
    renderCellActionMenuItems?: (props: {
        cell: import('material-react-table').MRT_Cell<MRT_RowData, unknown>;
        closeMenu: () => void;
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        internalMenuItems: React.ReactNode[];
        row: MRT_Row<MRT_RowData>;
        staticColumnIndex?: number;
        staticRowIndex?: number;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => React.ReactNode[];
    renderColumnActionsMenuItems?: (props: {
        closeMenu: () => void;
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        internalColumnMenuItems: React.ReactNode[];
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => React.ReactNode[];
    renderColumnFilterModeMenuItems?: (props: {
        column: import('material-react-table').MRT_Column<MRT_RowData, unknown>;
        internalFilterOptions: import('material-react-table').MRT_InternalFilterOption[];
        onSelectFilterMode: (filterMode: import('material-react-table').MRT_FilterOption) => void;
        table: import('material-react-table').MRT_TableInstance<MRT_RowData>;
    }) => React.ReactNode[];
    visibleInShowHideMenu?: boolean;
}[];
export declare const renderEmptyRowsFallback: (text: string) => import("react/jsx-runtime").JSX.Element;
export declare const renderValueField: (label: string, value: any, t: any, formatFn?: (val: any) => string) => import("react/jsx-runtime").JSX.Element;
export declare const formateValueByType: ({ value, type, format, weight }: {
    value: any;
    type: string;
    format?: string;
    weight?: "normal" | "medium" | "bold";
}) => any;
export declare const configMapper: {
    company: {
        callBack: (value: any) => {
            value: string | number;
            options: {
                label: any;
                value: string | number;
            }[];
        };
    };
};
