///
import type { ErrorInfo, FieldInstance, FieldState, FNode, FormInstance, FormState, NodeType, SerpentRule } from '../interface';
import { NodeValueType, ValidateStatus } from '../interface';
declare class NodeHelper {
regex: {
number: RegExp;
empty: RegExp;
};
getType: (arg: A) => string;
isPlainObject: (target: unknown) => target is Record;
isArray: (target: unknown) => target is any[];
isEmpty: (value: any) => boolean;
arrayNode: (target: FNode) => boolean;
objectNode: (target: FNode) => boolean;
isVoidNode: (target: FNode) => boolean;
isAnonymous: (n: any) => boolean;
isNumber: (n: string) => boolean;
isForm: (type: NodeType) => boolean;
isField: (type: NodeType) => boolean;
chainChildNode: (inputNode: FNode, parentNode: FNode) => void;
cutNode: (inputNode: FNode) => void;
getFirstChildNotAnonymousToDown: (n: FNode) => FNode | null;
getFirstChildNotAnonymousToUp: (n: FNode) => FNode | null;
traverseAnonymousNode: (node: FNode, callback: (n: FNode) => boolean) => boolean;
findFieldNodes: (node: FNode, path: string[]) => FNode[];
findNearlyParentFormNode: (node: FNode, skipSelf?: boolean) => FNode | undefined;
getValues: (node: FNode, skip?: (n: FNode) => boolean) => {
[index: string]: any;
};
getNodePathUnderTheContext: (node: FNode, context: FNode) => string[];
getValueByPath: (value?: V, propPath?: string[]) => V;
inspect: (node: FNode, callback: (n: FNode) => [boolean, boolean]) => void;
genErrorInfoStruct: (value: V, validateStatus: ValidateStatus, node: FNode, message?: import("react").ReactNode) => ErrorInfo;
composeRuleValidator: (next: (value: V, field: FieldInstance>, form: FormInstance>) => import("react").ReactNode | Promise, pre?: (value: V, field: FieldInstance>, form: FormInstance>) => import("react").ReactNode | Promise) => (value: V, field: FieldInstance>, form: FormInstance) => string | number | boolean | import("react").ReactElement> | import("react").ReactFragment | Promise;
runRules: (node: FNode>, formNode: FNode) => import("react").ReactNode | Promise;
execValidator: (node: FNode>, formNode: FNode) => Promise>;
getDefaultValueType: (type: NodeType) => NodeValueType.string | NodeValueType.object;
/**
* 是否跳过校验
* @param node
*/
skipValidate: (node: FNode) => boolean;
}
declare const _default: NodeHelper;
export default _default;