import type { ComponentType, ReactElement, ReactNode } from 'react'; import type { FemoModel } from 'femo'; export interface ExtendProps
{
extendProps?: P;
}
export declare enum NodeValueType {
string = "string",
number = "number",
boolean = "boolean",
object = "object",
array = "array",
void = "void"
}
declare type NodeValueTypeBak = typeof NodeValueType;
declare type NodeValueTypeObj = {
[key in NodeValueTypeBak[keyof NodeValueTypeBak]]: any;
};
export declare type NodeValueTypeString = `${keyof NodeValueTypeObj}`;
export interface CommonState {
className?: string;
initialValue?: V;
value?: V;
valueType?: NodeValueTypeString;
name?: string;
label?: ReactElement | ReactNode;
visible?: boolean;
preserve?: boolean;
disabled?: boolean;
}
export declare enum ValidateStatus {
validating = "validating",
error = "error",
warn = "warn",
success = "success",
default = "default"
}
export interface ErrorInfo {
state?: P;
node?: FNode ;
model: FemoModel ;
validate: () => Promise {
id?: string;
type: NodeType;
valueType: NodeValueTypeString;
name?: string;
status?: FemoModel ;
parent?: FNode | null;
sibling?: FNode | null;
child?: FNode | null;
pushChild?: (field: FNode ) => void;
detach?: () => void;
validateModel?: FemoModel;
}
export interface NodeInstance;
export declare type FieldInstance;
export interface FieldProps