import { AxiosInstance, AxiosRequestConfig } from 'axios'; import { Id, Shape, Count, CacheInstance } from '../../types'; import { BaseModelInterface } from '../interfaces'; export declare class BaseModel implements BaseModelInterface { protected api: AxiosInstance; basePath: string; private cache?; private idKey; constructor(api: AxiosInstance, basePath: string, cache?: CacheInstance, idKey?: string); getCacheKey(key: string | number): string; request(config: AxiosRequestConfig): Promise; post(item: Omit): Promise; getAll(filter?: Shape): Promise; getById(id: Id, filter?: Shape): Promise; count(where?: Shape): Promise; patchById(id: Id, item: Partial): Promise; patchAll(item: Partial, where?: Shape): Promise; putById(id: Id, item: T): Promise; deleteById(id: Id): Promise; }