import { AxiosRequestConfig, AxiosPromise, AxiosResponse } from 'axios'; import { Constructor } from '@matchlighter/common_library/mixins'; import { Model, AnyObject } from './model'; type HTTPMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; export declare const ApiContext: (target: Object, key: string, desc?: PropertyDescriptor) => void; export interface IApiContext { getApiPath(): string; } interface IRestModel { makeApiCall(options?: AxiosRequestConfig): AxiosPromise; makeApiCall(method: HTTPMethod, options?: AxiosRequestConfig): AxiosPromise; makeApiCall(method: HTTPMethod, url: string, options?: AxiosRequestConfig): AxiosPromise; getApiName(): any; getApiSubPath(): any; decodeResponseData(response: AxiosResponse): any; } export declare const RestApiMixin: >>(base: T) => T & Constructor; declare const RestModel_base: typeof Model & Constructor; export declare class RestModel extends RestModel_base { accessor id: number; } export {};