import React from 'react'; import type { ClientCardProps } from '../../../clientCard/types'; import type { BaseResponsiveProps } from '../../../../responsive'; export interface ClientSelectorCustomer { id?: string | number | null; customer_id?: string | number | null; name?: string; display_name?: string; first_name?: string; last_name?: string; nickname?: string; contacts_info?: Record | null; [key: string]: any; } export interface ClientSelectorPagination { page: number; pageSize: number; total: number; } export interface ClientSelectorSearchOptions { showLoading?: boolean; } export interface ClientSelectorRef { handleSetClient: (record: ClientSelectorCustomer | null, options?: ClientSelectorSetClientOptions) => Promise; } interface ClientSelectorSetClientOptions { sameClientTip?: string; } export interface ClientSelectorProps extends BaseResponsiveProps { className?: string; value?: ClientSelectorCustomer | null; list?: ClientSelectorCustomer[]; loading?: boolean; loadingMore?: boolean; resultLoading?: boolean; hasMore?: boolean; pagination?: ClientSelectorPagination; isShowAvatar?: boolean; disabledSwitch?: boolean; disabledSwitchText?: string; clientCardProps?: Partial; beforeSwitchModalOpen?: () => void | boolean | Promise; onSearch: (keyword: string, options?: ClientSelectorSearchOptions) => Promise | any; onLoadMore?: () => Promise | any; onChangePage?: (page: number, pageSize?: number) => Promise | any; onSelect: (customer: ClientSelectorCustomer | null, originCustomer?: ClientSelectorCustomer | null) => Promise | any; onAddToFirst?: (customer: ClientSelectorCustomer) => void; onClientChange?: (customer: ClientSelectorCustomer | null, originCustomer?: ClientSelectorCustomer | null) => void; resolveContactsInfo?: (customer: ClientSelectorCustomer | null) => Record | null; onContactsInfoChange?: (contactsInfo: Record | null) => void; onOpenCustomerDetail?: (customer: ClientSelectorCustomer, onSuccess: (detail: any) => void) => void; } export declare const ClientSelector: React.ForwardRefExoticComponent>; export {};