import React from 'react';
import { FormInstance } from 'antd';
import { ModeType } from './type';
import './style.less';
export interface WithModeProps {
    renderMode?: ModeType;
    value?: any;
    onChange?: (value: any) => void;
    [key: string]: any;
}
/**
 * @title: 增加renderMode属性
 * @description: 基于renderMode属性控制渲染模式
 * @return: *
 * @Author: shengjie.zuo
 * @Date: 2024-11-23 17:13:18
 */
export declare const withMode: <P extends object>(FieldComponent: React.ComponentType<P>, ReadPrettyComponent?: React.ComponentType<P & {
    renderMode: ModeType;
}> | undefined, transformProps?: ((props: P, renderMode: ModeType) => P) | undefined) => React.FC<P & WithModeProps>;
export interface WithFormItemProps {
    name: string;
    label?: string;
    mode?: ModeType;
    [key: string]: any;
}
export declare const formItemNameReplace: (name: string) => string;
export declare const formItemNameReverse: (name: string) => string;
export declare const isValidDomain: (value: string) => boolean;
/**
 * @title: 追加formItem层
 * @description:
 * @return: *
 * @Author: shengjie.zuo
 * @Date: 2024-11-23 17:14:25
 */
export declare const withFormItem: <P extends object>(WrappedComponent: React.ComponentType<P>, overlayProps?: {
    otherFormItemProps?: Record<string, any> | ((props: Record<string, any>, others?: Record<string, any>) => Record<string, any>) | undefined;
    innerProps?: Record<string, any> | undefined;
} | undefined) => React.FC<P & WithFormItemProps>;
export declare const withDataSource: <P extends unknown>(WrappedComponent: React.ComponentType<P>) => (props: P & {
    dataSource?: any;
    extraParams?: Record<string, any> | undefined;
}) => JSX.Element;
export declare const withOptions: <P extends unknown>(WrappedComponent: React.ComponentType<P>) => (props: P & {
    options?: any;
    optionSourceType?: "default" | "custom" | "api" | undefined;
    labelField: string;
    valueField: string;
    extraParams?: Record<string, any> | undefined;
}) => JSX.Element;
export declare const getNestedValue: (obj: Record<string, any>, path: string) => Record<string, any>;
export declare const renderValueWithMap: (value: any, valueMap?: Record<string, string>, renderMode?: ModeType) => JSX.Element | null;
export declare function toArr(str: string | number | (string | number)[]): (string | number)[];
export declare const filterSystemFields: (params: Record<string, any>) => Record<string, any>;
export declare const transformFormObjToArrayWithUntouched: (obj: Record<string, any>) => any[];
export declare const setFormFieldsUntouched: (form: FormInstance) => void;
