import { ReactNode } from 'react';
import { NavigateFunction } from 'react-router-dom';
import { TableProps } from 'antd';
import { AnyObject } from 'antd/es/_util/type';
import { TAdditionalPrinterColumnsColWidths, TAdditionalPrinterColumnsTrimLengths, TAdditionalPrinterColumnsUndefinedValues, TAdditionalPrinterColumnsTooltips, TAdditionalPrinterColumnsKeyTypeProps, TAdditionalPrinterColumnsCustomSortersAndFilters } from '../../../../../localTypes/richTable';
import { TJSON } from '../../../../../localTypes/JSON';
export declare const isNameColumn: (column: {
    key?: React.Key;
    title?: unknown;
    dataIndex?: unknown;
}) => boolean;
export declare const hasFactoryItemOfType: (customProps: unknown, itemType: string) => boolean;
export declare const getCellRender: ({ value, record, possibleTrimLength, possibleUndefinedValue, possibleCustomTypeWithProps, theme, }: {
    value: TJSON;
    record: unknown;
    possibleTrimLength?: number | undefined;
    possibleUndefinedValue?: string | undefined;
    possibleCustomTypeWithProps?: {
        type?: string | undefined;
        customProps?: unknown;
    } | undefined;
    theme: 'dark' | 'light';
}) => JSX.Element;
export declare const getEnrichedColumns: <T extends AnyObject = AnyObject>({ columns, additionalPrinterColumnsUndefinedValues, additionalPrinterColumnsTrimLengths, additionalPrinterColumnsColWidths, additionalPrinterColumnsTooltips, additionalPrinterColumnsKeyTypeProps, additionalPrinterColumnsCustomSortersAndFilters, theme, getRowKey, }: {
    columns: import("antd").TableColumnsType<T> | undefined;
    additionalPrinterColumnsUndefinedValues?: TAdditionalPrinterColumnsUndefinedValues | undefined;
    additionalPrinterColumnsTrimLengths?: TAdditionalPrinterColumnsTrimLengths | undefined;
    additionalPrinterColumnsColWidths?: TAdditionalPrinterColumnsColWidths | undefined;
    additionalPrinterColumnsTooltips?: TAdditionalPrinterColumnsTooltips | undefined;
    additionalPrinterColumnsKeyTypeProps?: TAdditionalPrinterColumnsKeyTypeProps | undefined;
    additionalPrinterColumnsCustomSortersAndFilters?: TAdditionalPrinterColumnsCustomSortersAndFilters | undefined;
    theme: 'dark' | 'light';
    getRowKey: (record: T) => React.Key;
}) => import("antd").TableColumnsType<T> | undefined;
export declare const getEnrichedColumnsWithControls: <T extends AnyObject = AnyObject>({ enrichedColumns, navigate, baseprefix, editIcon, deleteIcon, }: {
    enrichedColumns: import("antd").TableColumnsType<T> | undefined;
    navigate: NavigateFunction;
    baseprefix?: string | undefined;
    editIcon?: ReactNode;
    deleteIcon?: ReactNode;
}) => import("antd").TableColumnsType<T> | undefined;
