import { AxiosInstance } from 'axios'; export interface HttpEndPoints { getUrl: string; uploadUrl: string; updateUrl: string; deleteUrl: string; multiDelete: string; fileTypes: string; } export interface Props { httpEndPoints: HttpEndPoints; httpService: AxiosInstance; notificationCallBack: (type: string, res: any) => void; filePerPage?: number; useInFileFields?: boolean; isMultiSelect?: boolean; uploadMultiple?: boolean; delayBetweenUploads?: number; acceptFileExtension?: string; maxFileSize?: number; bodyHeight?: number; } export interface User { id: number; name: string; } export interface FileType { value: string; title: string; options: string[]; } export interface File { id: number; name: string; type: string; alt: string | null; size: number; path: string; thumbnail: string; caption: string | null; description: string | null; user_id: number; created_at: string; updated_at: string; user: User; } export interface FileData extends File { width?: number; height?: number; formattedDate?: string; } export interface MetaData { from: number; to: number; total: number; last_page: number; } export interface Filter { file_type: string; page: number; per_page: number; search: string; }