export interface UploadConfig { name: string; label: string; type: 'upload'; multiple: boolean; limit: number; accept: string; maxSize: number; listType?: 'text' | 'picture' | 'picture-card'; tip?: string; rules?: any[]; order?: number; file?: any; } export interface NormalField { name: string; label: string; type: 'input' | 'textarea' | 'select' | 'date' | 'switch' | 'radio' | 'checkbox' | 'segmented'; rules?: any[]; defaultValue?: any; options?: Array<{ label: string; value: any; }>; order?: number; rows?: number; }