import { ApiResponse, Item, ItemControllerFindData, ItemDetail, ListControllerFindData, ListDetail, PaginatedApiResponse, SwishClientConfig } from "@swishapp/api-client"; export interface SwishApiConfig extends SwishClientConfig { loadProfile?: () => string | undefined; storeProfile?: (profile: string) => void; deleteProfile?: () => void; responseInterceptor?: (response: Response, request: Request) => Promise | void; } export declare class SwishApi { private readonly cache; private readonly apiClient; private readonly config; private readonly itemsLoader; constructor(config: SwishApiConfig, cacheKeyPrefix: string); private processProfileHeader; get items(): { list: (query?: ItemControllerFindData["query"], options?: { batch?: boolean; }) => Promise>; findById: (itemId: string) => Promise>; create: (items: import("@swishapp/api-client").CreateItemInput) => Promise>; delete: (itemIds: import("@swishapp/api-client").DeleteItemsInput["itemIds"]) => Promise>; updateById: (itemId: string, body: import("@swishapp/api-client").UpdateItemInput) => Promise>; deleteById: (itemId: string) => Promise>; setListsById: (itemId: string, listIds: import("@swishapp/api-client").SetItemListsInput["listIds"]) => Promise>; count: () => Promise>; }; get lists(): { list: (query?: ListControllerFindData["query"]) => Promise>; findById: (listId: string) => Promise>; create: (list: import("@swishapp/api-client").CreateListInput) => Promise>; updateById: (listId: string, body: import("@swishapp/api-client").UpdateListInput) => Promise>; deleteById: (listId: string) => Promise>; orderItems: (listId: string, itemIds: import("@swishapp/api-client").SetListItemsOrderInput["itemIds"]) => Promise>; addItemsToList: (listId: string, itemIds: import("@swishapp/api-client").AddItemsToListInput["itemIds"]) => Promise>; removeItemFromList: (listId: string, itemId: string) => Promise>; }; get profiles(): { customerAccountsVersion: () => Promise>; createToken: (body?: import("@swishapp/api-client").CreateProfileTokenInput) => Promise>; identify: (body: import("@swishapp/api-client").IdentifyProfileInput) => Promise>; }; clearCache(): Promise; }