import React from 'react'; export interface Option { value: number; label: string; avatar?: string; disabled?: boolean; } export interface FilterOption { value: number; pId: number; label: string; subName: string; avatar?: string; disabled?: boolean; } export interface ContactsData { value: number; label: string; children: Option[]; } interface IDrawerProps { visible: boolean; defaultValues?: number[]; onClose: () => void; getData: () => Promise; onChange: (values: number[], data: ContactsData[]) => void; className?: string; inputPlaceholder?: string; } interface IProps { ref?: React.MutableRefObject<{ init: () => void; } | undefined>; isBelongModalOrDrawer: boolean; defaultValues?: number[]; inputPlaceholder?: string; getData: () => Promise; onChange: (values: number[], data: ContactsData[]) => void; className?: string; } type ContactsComponent = React.ForwardRefExoticComponent> & React.RefAttributes<{ init: () => void; }> & { Drawer: React.FC; }; /** * 使用纯 Contact 组件时要注意 getData 方式会在组件挂载时就运行 * 可以控制组件渲染与卸载来重置 getData */ declare const Contacts: ContactsComponent; export default Contacts;