import {CustomPlantPage, Plant, SearchRequest} from "./schemas.ts"; import {FetchResult} from "./FetchResult.ts"; export interface IBackendConnector { getAllPlants(page?: number, pageSize?: number): Promise<FetchResult<CustomPlantPage>>; searchPlants(search: SearchRequest): Promise<FetchResult<Plant[]>>; getRandomPlants(amount: number): Promise<FetchResult<Plant[]>>; getSinglePlant(id: number): Promise<FetchResult<Plant | null>>; addToGarden(plantId: number): Promise<FetchResult<void>>; getGardenEntries(sort?: string): Promise<FetchResult<Plant[]>>; getGardenSize(): Promise<FetchResult<number>>; removeEntryFromGarden(entryId: number): Promise<FetchResult<void>>; clearGarden(): Promise<FetchResult<number>>; addToWishlist(plantId: number): Promise<FetchResult<void>>; getWishlistEntries(sort?: string): Promise<FetchResult<Plant[]>> getWishlistSize(): Promise<FetchResult<number>>; removeFromWishlist(entryId: number): Promise<FetchResult<void>> clearWishlist(): Promise<FetchResult<number>>; }