import { ColumnAlignment, IColumnConfig, IRowConfig } from './interfaces';
declare type ReactTableColumnConfig = any[];
export declare const getCssClassFromAlignment: (alignment?: ColumnAlignment | undefined) => string;
export declare function getColumnId<T>(column: IColumnConfig<T>): string;
export declare function getCellProps<T>(column: IColumnConfig<T>): {
    accessor: string | import("./interfaces").IColumnAccessorFunction<T, any> | undefined;
    actions: import("./interfaces").IActionInfo<T>[] | undefined;
    aggregate: import("./interfaces").IColumnAggregateFunction<T, any> | undefined;
    className: string | undefined;
    customComponent: import("./interfaces").ICustomComponentProps<T> | undefined;
    constructUrl: import("./interfaces").IConstructUrl<T> | undefined;
    dateTimeFormat: string | undefined;
    disabled: boolean | ((row: T) => boolean) | undefined;
    download: boolean | undefined;
    field: string;
    fieldProps: import("./interfaces").IFieldProps<Pick<Pick<import("..").IFormFieldPublicProps<any, any, any, any>, "className" | "disabled" | "label" | "defaultValue" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "name" | "format" | "autoComplete" | "readOnly" | "required" | "visible" | "props" | "inline" | "normalize" | "description" | "validate" | "labelClassName" | "componentClassName" | "hideRequiredStar" | "warn" | "prefillOnMount" | "clearOnUnmount" | "structure" | "parse" | "normalizeOnBlur">, "className" | "disabled" | "label" | "defaultValue" | "placeholder" | "onFocus" | "format" | "autoComplete" | "readOnly" | "required" | "visible" | "props" | "inline" | "normalize" | "description" | "validate" | "labelClassName" | "componentClassName" | "hideRequiredStar" | "warn" | "prefillOnMount" | "clearOnUnmount" | "structure" | "parse" | "normalizeOnBlur">> | undefined;
    formatter: Function | undefined;
    isExternal: boolean | ((row: T, url: string) => boolean) | undefined;
    label: string | undefined;
    onBlur: import("./interfaces").ICellEventHandler<T> | undefined;
    onChange: import("./interfaces").ICellEventHandler<T> | undefined;
    onClick: import("./interfaces").ICellEventHandler<T> | undefined;
    openInNewTab: boolean | undefined;
    sectionName: string | undefined;
    statusDefinition: import("./interfaces").IStatusDefinition | undefined;
    style: any;
    url: string | undefined;
};
export declare function transformConfig<T>(columns: IRowConfig<T>, items?: T[]): ReactTableColumnConfig;
/**
 * Merges two table configurations by field name.
 *
 * The first configuration needs to be a complete column configuration, while the second one may omit the
 * normally mandatory `title` field. Note that it is the developer's responsibility to ensure that any added
 * field have the `title` field set.
 *
 * The second config overwrites any fields in the first if they have the same field name and the same key.
 * If there are cells in the second config that are not present in the first, they will be appended.
 *
 * Every non-addressed (unbound) column is considered a new column and will not be merged.
 *
 * Note: Not very efficient, can be rewritten to use _.groupBy and lookups, but that's probably a micro-optimisation
 * that's not needed.
 * @param configA Table configuration for row of a given type
 * @param configB Partial table configuration for row of a given type
 */
export declare function mergeConfigs<T>(configA: IRowConfig<T>, configB: Array<Omit<IColumnConfig<T>, 'title'>>): IRowConfig<T>;
export {};
