import { ReactNode } from 'react'; import type { RawPermission } from '../permission/core'; import { KauthUserStatus, IKauthPagination } from '../common/interface'; import type { IKauthRole, IKauthUser } from '../common/interface'; import { KauthLang } from '../common/locale'; import { IJoinLinkProps } from 'joinLink'; import './style.less'; export interface IUserEvent { id: number; roles: Array<{ id: number; }>; status?: KauthUserStatus; } interface IAddUserProps { currentUserId: number; users: IKauthUser[]; pagination?: IKauthPagination; onToggle?: (pagination: IKauthPagination) => Promise; loading: boolean; search?: { name?: string; roleName?: string; }; onSearch?: (value: { name?: string; roleName?: string; }) => Promise; candidateUsers?: IKauthUser[]; onCandidateUsersSearch?: (value?: string) => Promise; roles: IKauthRole[]; onRoleIdSearch?: (value: number | undefined) => Promise; onChange: (user: IUserEvent) => Promise; onAdd?: (user: IUserEvent) => Promise; lockable?: boolean; editable?: RawPermission | string; editableRole?: string | Partial; superRole?: string | Partial; defaultRole?: string | boolean; locale?: KauthLang; showJoinLink?: boolean; joinLink?: Omit; header?: ReactNode; } export declare const User: ({ currentUserId, users, pagination, onToggle, search, loading, onSearch, candidateUsers, onCandidateUsersSearch, roles: allRoles, onChange, onAdd, lockable, editable, editableRole, superRole, defaultRole, locale, showJoinLink, joinLink, header, }: IAddUserProps) => JSX.Element; export {};