import { DefinedRoute, DefineRouteOptions, Resource } from "./Resource.js"; export declare enum CursorDirection { ASC = "asc", DESC = "desc" } export type CRUDPaginationParams = { limit?: number; cursor?: string; cursorDirection?: CursorDirection; }; export type CRUDItemsResponse = { items: A[]; hasMore: boolean; }; export type CRUDAOSItemsResponse = CRUDItemsResponse & { /** * Optional parameter indicating the total numbers of elements the list has. * Only present when no cursor are provided when fetching the list. */ totalHits?: number; }; export declare abstract class CRUDResource extends Resource { static routeBase: string; protected _routeBase: string; protected _listRoute(options?: DefineRouteOptions): DefinedRoute; protected _createRoute(options?: DefineRouteOptions): DefinedRoute; protected _getRoute(options?: DefineRouteOptions): DefinedRoute; protected _updateRoute(options?: DefineRouteOptions): DefinedRoute; protected _deleteRoute(options?: DefineRouteOptions): DefinedRoute; }