import { GetItemRequest, GetItemResponse } from '@dvn/core/api/dto/get-item';
import { UpdateRequest, UpdateResponse } from '@dvn/core/api/dto/update';
import { DataModel } from '@dvn/core/models/data-model';
import { QueryRequest, QueryResponse } from './dto';
export interface DataApi {
  query: (collection: string, query: QueryRequest) => Promise<QueryResponse>;
  update: (collection: string, id: string, body: UpdateRequest) => Promise<UpdateResponse>;
  get: (collection: string, id: string, query: GetItemRequest) => Promise<GetItemResponse>;
  addAuthInterceptor: (token: string) => void;
}
export declare class DataApiImpl implements DataApi {
  private api;
  constructor(endpoint: string, defaultHeaders?: object);
  query: (collection: string, query: QueryRequest) => Promise<QueryResponse>;
  get: (collection: string, id: string, query: GetItemRequest) => Promise<DataModel>;
  update: (collection: string, id: string, body: UpdateRequest) => Promise<UpdateResponse>;
  addAuthInterceptor: (token: string) => void;
}
