import { Folder, FileRetrieve, FolderRetrieve, MiniFile, File, Favorite, MiniPage } from '../../../../types/openapi'; import { GetFavoritesParams } from '../../../types/favorites'; import { PaginatedData } from '../../../types/paginatedData'; import { RecentFile } from '../../../types/recentFiles.types'; import { AppProps } from '../appTypes'; import { AppStore, FolderFileWithFolderId } from './app'; type FolderItemsFetcher = (folderId?: Folder['id'], options?: { justFetch: boolean; setSelectedFolder: boolean; }) => Promise; type FileOpener = (payload: { fileId: MiniFile['id']; pageIndex?: MiniPage['page_index']; newTab?: boolean; }) => void; type FileFetcher = (payload: File['id']) => Promise; type FileListFetcher = (params?: any) => Promise; type FileDeleter = (fileId: FileRetrieve['id']) => Promise; type FavoritesFetcher = (payload?: GetFavoritesParams) => Promise>; type RecentFilesFetcher = () => Promise; export type { FolderItemsFetcher, FileOpener, FileDeleter, FileFetcher, FileListFetcher, FavoritesFetcher, RecentFilesFetcher, }; export type ApiStore = { state: { fileOpener: FileOpener | null; fileDeleter: FileDeleter | null; folderItemsFetcher: FolderItemsFetcher | null; fileFetcher: FileFetcher | null; fileListFetcher: FileListFetcher | null; favoritesFetcher: FavoritesFetcher | null; recentFilesFetcher: RecentFilesFetcher | null; isFetchingFolderItems: boolean; isFetchingListFiles: boolean; isFetchingFile: boolean; isFetchingFavorites: boolean; isFetchingRecentFiles: boolean; isDeletingFile: boolean; }; actions: { init: (props: AppProps) => void; reset: () => void; }; }; declare const _default: (appStore: AppStore) => ApiStore; export default _default;