///
import { FormInstance } from 'rc-field-form';
import { FieldProps } from 'rc-field-form/lib/Field';
import { FormProps as RcFormProps } from 'rc-field-form/lib/Form';
import { ISchemaFormProps } from '@formily/react-schema-renderer';
import { PreviewTextConfigProps } from '@formily/react-shared-components';
export declare const tuple: (...args: T) => T;
declare const ValidateStatuses: ["success", "warning", "error", "validating", ""];
export declare type ValidateStatus = typeof ValidateStatuses[number];
declare type ColSpanType = number | string;
declare type FlexType = number | 'none' | 'auto' | string;
declare type RenderChildren = (form: FormInstance) => React.ReactNode;
declare type RcFieldProps = Omit;
declare type ChildrenType = RenderChildren | React.ReactNode;
export declare type FormLayout = 'horizontal' | 'inline' | 'vertical';
export declare type SizeType = 'small' | 'middle' | 'large' | undefined;
export interface ColSize {
flex?: FlexType;
span?: ColSpanType;
order?: ColSpanType;
offset?: ColSpanType;
push?: ColSpanType;
pull?: ColSpanType;
}
export interface ColProps extends React.HTMLAttributes {
flex?: FlexType;
span?: ColSpanType;
order?: ColSpanType;
offset?: ColSpanType;
push?: ColSpanType;
pull?: ColSpanType;
xs?: ColSpanType | ColSize;
sm?: ColSpanType | ColSize;
md?: ColSpanType | ColSize;
lg?: ColSpanType | ColSize;
xl?: ColSpanType | ColSize;
xxl?: ColSpanType | ColSize;
prefixCls?: string;
}
export declare type FormLabelAlign = 'left' | 'right';
export declare type RequiredMark = boolean | 'optional';
export interface FormItemLabelProps {
colon?: boolean;
htmlFor?: string;
label?: React.ReactNode;
labelAlign?: FormLabelAlign;
labelCol?: ColProps;
requiredMark?: RequiredMark;
}
export interface FormItemInputProps {
wrapperCol?: ColProps;
help?: React.ReactNode;
extra?: React.ReactNode;
}
export interface FormItemProps extends FormItemLabelProps, FormItemInputProps, RcFieldProps {
prefixCls?: string;
noStyle?: boolean;
style?: React.CSSProperties;
className?: string;
children?: ChildrenType;
id?: string;
hasFeedback?: boolean;
validateStatus?: ValidateStatus;
required?: boolean;
hidden?: boolean;
initialValue?: any;
fieldKey?: React.Key | React.Key[];
}
export interface FormProps extends Omit, 'form'> {
prefixCls?: string;
colon?: boolean;
name?: string;
layout?: FormLayout;
labelAlign?: FormLabelAlign;
labelCol?: ColProps;
wrapperCol?: ColProps;
form?: FormInstance;
size?: SizeType;
scrollToFirstError?: boolean;
requiredMark?: RequiredMark;
hideRequiredMark?: boolean;
}
export declare type IFormItemTopProps = React.PropsWithChildren & {
inline?: boolean;
className?: string;
style?: React.CSSProperties;
labelCol?: number | {
span: number;
offset?: number;
};
wrapperCol?: number | {
span: number;
offset?: number;
};
}>;
export declare type IWeuiSchemaFormProps = Omit & IFormItemTopProps & PreviewTextConfigProps & ISchemaFormProps;
export {};