import { Endpoint } from "../interfaces/Endpoint"; import { JSONAModel } from "../interfaces/JSONAModel"; import { Operation } from "../interfaces/Operation"; import { ResourceType } from "../interfaces/ResourceType"; import { RootState } from "../interfaces/RootState"; import { SerializeJsonApiModelParam } from "../interfaces/SerializeJsonApiModelParam"; import { BaseApiSelector } from "../selectors/base/BaseApiSelector"; import { RequestMethod } from "../selectors/enums/RequestMethod"; import { JsonApiQuery } from "../services/JsonApiQuery/JsonApiQuery"; import { ActionPostData } from "./interfaces/ActionPostData"; import { ApiThunkAction } from "./interfaces/ApiThunkAction"; import { JsonaDataFormatter } from "./JsonaDataFormatter"; import { ApiOperationUtility } from "./utilities/ApiOperationUtility"; export declare class ApiActionHandler { private resourceType; private endpoint; readonly apiSelector: BaseApiSelector; private transformId?; private preserveRequestTrailingSlash?; readonly jsonaDataFormatter: JsonaDataFormatter; readonly operationUtility: ApiOperationUtility; constructor(resourceType: ResourceType, endpoint: Endpoint, apiSelector: BaseApiSelector, transformId?: ((id: string) => string) | undefined, preserveRequestTrailingSlash?: boolean | undefined); private getTransformedId; getLoading(state: RootState, requestMethod: RequestMethod, id?: string): boolean; /** * @deprecated in favor of this.operationUtility * @param requestMethod * @param id */ getOperation(requestMethod: RequestMethod, id?: string): Operation; create(data: ActionPostData, headers?: { [key: string]: string; }): ApiThunkAction; getAll(jsonApiQuery?: JsonApiQuery, headers?: { [key: string]: string; }): ApiThunkAction; get(id: string, includes?: string[], headers?: { [key: string]: string; }): ApiThunkAction; update(id: string, serializeModelParam: SerializeJsonApiModelParam, headers?: { [key: string]: string; }): ApiThunkAction; delete(id: string, headers?: { [key: string]: string; }): ApiThunkAction; }