import { UseAsyncReturn } from 'react-async-hook'; import React, { Dispatch, SetStateAction } from 'react'; import { IUser } from '@shared/interfaces/model'; import { SelectionMode } from '@fluentui/react'; import { ModelState } from '@admin/helpers/hooks'; import ExtendedSelection, { ItemsOrKeys } from '@admin/helpers/selection'; export interface IUsersContext { list: UseAsyncReturn; get: UseAsyncReturn; create: UseAsyncReturn]>; deleteMany: UseAsyncReturn; update: UseAsyncReturn]>; updateMany: UseAsyncReturn[]>; resetPassword: UseAsyncReturn<{ id: number; password: string; notify: boolean; }>; selectedUsers: IUser[]; selection: ExtendedSelection; users: IUser[]; usersState: ModelState; setListParams: Dispatch>; listParams: any; } export declare const UsersContext: React.Context; export interface IUsersContextProviderProps { defaultSelectedUsers?: ItemsOrKeys; selectionMode?: SelectionMode; } declare const UsersContextProvider: React.FC; declare const useUsers: () => IUsersContext; declare const withUsers: (Component: React.FC) => (props: T) => JSX.Element; export { useUsers, withUsers, UsersContextProvider };