import type { AxiosResponse } from "axios";
import type { OrmGenerics } from "../types/ormGenerics";
import { DetermineResponseDataType, RequestQueryBody } from "../types/ormInterfaces";
import { Executor } from "./Executor";
export declare class HttpExecutor<G extends OrmGenerics> extends Executor<G> {
    private isRestResponse;
    private stripTableNameFromKeys;
    putState(response: AxiosResponse<DetermineResponseDataType<G['RequestMethod'], G['RestTableInterface']>>, request: RequestQueryBody<G['RequestMethod'], G['RestTableInterface'], G['CustomAndRequiredFields'], G['RequestTableOverrides']>, callback: () => void): void;
    postState(response: AxiosResponse<DetermineResponseDataType<G['RequestMethod'], G['RestTableInterface']>>, request: RequestQueryBody<G['RequestMethod'], G['RestTableInterface'], G['CustomAndRequiredFields'], G['RequestTableOverrides']>, callback: () => void): void;
    deleteState(_response: AxiosResponse<DetermineResponseDataType<G['RequestMethod'], G['RestTableInterface']>>, request: RequestQueryBody<G['RequestMethod'], G['RestTableInterface'], G['CustomAndRequiredFields'], G['RequestTableOverrides']>, callback: () => void): void;
    execute(): Promise<DetermineResponseDataType<G['RequestMethod'], G['RestTableInterface']>>;
}
