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;
}