import type { Entity } from "../../interfaces/models/Entity"; import type { Collection } from "../../interfaces/models/Collection"; export interface UseCollectionsProps { } export interface CreateCollectionProps { collectionName: string; } export interface UpdateCollectionProps { collectionId: string; update: { name: string; }; } export interface DeleteCollectionProps { collection: Collection; } export interface AddToCollectionProps { entity: Entity; } export interface RemoveFromCollectionProps { entityId: string; } export interface UseCollectionsValues { currentCollection: Collection | null; subCollections: Collection[]; loading: boolean; openCollection: (collection: Collection) => void; goBack: () => void; goToRoot: () => void; isEntitySaved: (props: { entityId: string; collectionId?: string; }) => Promise<{ saved: boolean; inSpecificCollection?: boolean; collections: Array<{ id: string; name: string; }>; }>; createCollection: (props: CreateCollectionProps) => Promise; updateCollection: (props: UpdateCollectionProps) => Promise; deleteCollection: (props: DeleteCollectionProps) => Promise; addToCollection: (props: AddToCollectionProps) => Promise; removeFromCollection: (props: RemoveFromCollectionProps) => Promise; } /** * Redux-powered hook that provides the exact same interface as useCollectionsData() * This is a drop-in replacement for the Context-based hook */ declare function useCollections(_?: UseCollectionsProps): UseCollectionsValues; export default useCollections;