UNPKG

burdy

Version:

Open Source Headless Platform

37 lines (36 loc) 1.49 kB
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<IUser[], []>; get: UseAsyncReturn<IUser, [id: number]>; create: UseAsyncReturn<any, [Partial<IUser & { notify?: boolean; }>]>; deleteMany: UseAsyncReturn<any, [id: number[]]>; update: UseAsyncReturn<any, [id: number, params: Partial<IUser>]>; updateMany: UseAsyncReturn<Partial<IUser>[]>; resetPassword: UseAsyncReturn<{ id: number; password: string; notify: boolean; }>; selectedUsers: IUser[]; selection: ExtendedSelection<IUser>; users: IUser[]; usersState: ModelState<IUser>; setListParams: Dispatch<SetStateAction<any>>; listParams: any; } export declare const UsersContext: React.Context<IUsersContext>; export interface IUsersContextProviderProps { defaultSelectedUsers?: ItemsOrKeys<IUser>; selectionMode?: SelectionMode; } declare const UsersContextProvider: React.FC<IUsersContextProviderProps>; declare const useUsers: () => IUsersContext; declare const withUsers: <T extends object>(Component: React.FC<T>) => (props: T) => JSX.Element; export { useUsers, withUsers, UsersContextProvider };