export interface IListParams { offset: number; limit?: number; filters?: Record; include?: string[]; query?: Record; } export interface IListData { items: Record[]; offset?: number; limit?: number; total?: number; } export interface IItemParams { id: string; include?: string[]; query?: Record; } export interface IItemData { item: Record; relatedItems: Record>>; } export declare class ValidationError extends TypeError { fieldErrors: Record; constructor(fieldErrors: Record, message?: string); get fieldErrorsText(): string; toString(): string; } export default interface IAdapter { getList(endpoint: string, params: IListParams): Promise; getItem(endpoint: string, params: IItemParams): Promise; deleteItem(endpoint: string, id: string): Promise; /** * Save entity item. * @param endpoint entity endpoint * @param item entity item object * @param id entity identifier (omit to create) * @throws {ValidationError} when validation failed */ saveItem(endpoint: string, item: Record, id?: string): Promise; }