import React from 'react'; import { UseAsyncReturn } from 'react-async-hook'; import { IBackup } from '@shared/interfaces/model'; import ExtendedSelection, { ItemsOrKeys } from '@admin/helpers/selection'; import { SelectionMode } from '@fluentui/react'; import { ModelState } from '@admin/helpers/hooks'; declare type Arrayable = T | T[]; interface IFileWithData { file: File; data?: any; } interface IUpload { status?: 'uploading' | 'done'; name?: string; progress?: number; } interface IUploads { [key: string]: IUpload; } export interface IBackupContext { list: UseAsyncReturn; get: UseAsyncReturn; create: UseAsyncReturn]>; download: (id: number) => void; remove: UseAsyncReturn; restore: UseAsyncReturn; selectedBackups: IBackup[]; selection: ExtendedSelection; upload: UseAsyncReturn]>; uploads: IUploads; backupState: ModelState; backups: IBackup[]; } export interface IBackupContextProviderProps { defaultSelectedBackups?: ItemsOrKeys; selectionMode?: SelectionMode; } declare const BackupContextProvider: React.FC; declare const useBackups: () => IBackupContext; export { BackupContextProvider, useBackups };