import type { ColumnOrderState, GroupingState } from '@tanstack/react-table';
import { MRT_FilterFns } from './filterFns';
import { MRT_SortingFns } from './sortingFns';
import type { TableCellProps } from '@mui/material/TableCell';
import type { Theme } from '@mui/material/styles';
import type { MaterialReactTableProps, MRT_Column, MRT_ColumnDef, MRT_DefinedColumnDef, MRT_DisplayColumnIds, MRT_FilterOption, MRT_Header, MRT_TableInstance } from '.';
export declare const getColumnId: <TData extends Record<string, any> = {}>(columnDef: MRT_ColumnDef<TData>) => string;
export declare const getAllLeafColumnDefs: <TData extends Record<string, any> = {}>(columns: MRT_ColumnDef<TData>[]) => MRT_ColumnDef<TData>[];
export declare const prepareColumns: <TData extends Record<string, any> = {}>({ columnDefs, columnFilterFns, defaultDisplayColumn, filterFns, sortingFns, }: {
    columnDefs: MRT_ColumnDef<TData>[];
    columnFilterFns: {
        [key: string]: MRT_FilterOption;
    };
    defaultDisplayColumn: Partial<MRT_ColumnDef<TData>>;
    filterFns: {
        between: {
            <TData_1 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_1>, id: string, filterValues: [string | number, string | number]): boolean;
            autoRemove(val: any): boolean;
        };
        betweenInclusive: {
            <TData_2 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_2>, id: string, filterValues: [string | number, string | number]): boolean;
            autoRemove(val: any): boolean;
        };
        contains: {
            <TData_3 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_3>, id: string, filterValue: string | number): boolean;
            autoRemove(val: any): boolean;
        };
        empty: {
            <TData_4 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_4>, id: string, _filterValue: string | number): boolean;
            autoRemove(val: any): boolean;
        };
        endsWith: {
            <TData_5 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_5>, id: string, filterValue: string | number): boolean;
            autoRemove(val: any): boolean;
        };
        equals: {
            <TData_6 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_6>, id: string, filterValue: string | number): boolean;
            autoRemove(val: any): boolean;
        };
        fuzzy: {
            <TData_7 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_7>, columnId: string, filterValue: string | number, addMeta: (item: import("@tanstack/match-sorter-utils").RankingInfo) => void): boolean;
            autoRemove(val: any): boolean;
        };
        greaterThan: {
            <TData_8 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_8>, id: string, filterValue: string | number): boolean;
            autoRemove(val: any): boolean;
        };
        greaterThanOrEqualTo: {
            <TData_9 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_9>, id: string, filterValue: string | number): boolean;
            autoRemove(val: any): boolean;
        };
        lessThan: {
            <TData_10 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_10>, id: string, filterValue: string | number): boolean;
            autoRemove(val: any): boolean;
        };
        lessThanOrEqualTo: {
            <TData_11 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_11>, id: string, filterValue: string | number): boolean;
            autoRemove(val: any): boolean;
        };
        notEmpty: {
            <TData_12 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_12>, id: string, _filterValue: string | number): boolean;
            autoRemove(val: any): boolean;
        };
        notEquals: {
            <TData_13 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_13>, id: string, filterValue: string | number): boolean;
            autoRemove(val: any): boolean;
        };
        startsWith: {
            <TData_14 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_14>, id: string, filterValue: string | number): boolean;
            autoRemove(val: any): boolean;
        };
        includesString: import("@tanstack/table-core").FilterFn<any>;
        includesStringSensitive: import("@tanstack/table-core").FilterFn<any>;
        equalsString: import("@tanstack/table-core").FilterFn<any>;
        arrIncludes: import("@tanstack/table-core").FilterFn<any>;
        arrIncludesAll: import("@tanstack/table-core").FilterFn<any>;
        arrIncludesSome: import("@tanstack/table-core").FilterFn<any>;
        weakEquals: import("@tanstack/table-core").FilterFn<any>;
        inNumberRange: import("@tanstack/table-core").FilterFn<any>;
    } & Record<string, import("@tanstack/table-core").FilterFn<any>>;
    sortingFns: {
        fuzzy: <TData_15 extends Record<string, any> = {}>(rowA: import("@tanstack/table-core").Row<TData_15>, rowB: import("@tanstack/table-core").Row<TData_15>, columnId: string) => number;
        alphanumeric: import("@tanstack/table-core").SortingFn<any>;
        alphanumericCaseSensitive: import("@tanstack/table-core").SortingFn<any>;
        text: import("@tanstack/table-core").SortingFn<any>;
        textCaseSensitive: import("@tanstack/table-core").SortingFn<any>;
        datetime: import("@tanstack/table-core").SortingFn<any>;
        basic: import("@tanstack/table-core").SortingFn<any>;
    } & Record<string, import("@tanstack/table-core").SortingFn<any>>;
}) => MRT_DefinedColumnDef<TData>[];
export declare const reorderColumn: <TData extends Record<string, any> = {}>(draggedColumn: MRT_Column<TData>, targetColumn: MRT_Column<TData>, columnOrder: ColumnOrderState) => ColumnOrderState;
export declare const showExpandColumn: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>, grouping?: GroupingState) => boolean;
export declare const getLeadingDisplayColumnIds: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => MRT_DisplayColumnIds[];
export declare const getTrailingDisplayColumnIds: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => (string | false | undefined)[];
export declare const getDefaultColumnOrderIds: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => string[];
export declare const getDefaultColumnFilterFn: <TData extends Record<string, any> = {}>(columnDef: MRT_ColumnDef<TData>) => MRT_FilterOption;
export declare const getIsLastLeftPinnedColumn: (table: MRT_TableInstance, column: MRT_Column) => boolean;
export declare const getIsFirstRightPinnedColumn: (column: MRT_Column) => boolean;
export declare const getTotalRight: (table: MRT_TableInstance, column: MRT_Column) => number;
export declare const getCommonCellStyles: ({ column, header, table, tableCellProps, theme, }: {
    column: MRT_Column;
    header?: MRT_Header<{}> | undefined;
    table: MRT_TableInstance;
    tableCellProps: TableCellProps;
    theme: Theme;
}) => any;
export declare const MRT_DefaultColumn: {
    minSize: number;
    maxSize: number;
    size: number;
};
export declare const MRT_DefaultDisplayColumn: Partial<MRT_ColumnDef>;
