import { HttpResponseModel } from "@odata2ts/http-client-api";
import { QParamModel } from "../param/QParamModel";
import { OperationReturnType } from "./OperationReturnType";
type ActionParams = Record<string, any>;
export declare abstract class QAction<ParamModel = undefined> {
    protected name: string;
    protected qReturnType: OperationReturnType<any>;
    constructor(name: string, qReturnType?: OperationReturnType<any>);
    abstract getParams(): Array<QParamModel<any, any>> | undefined;
    getName(): string;
    buildUrl(): string;
    convertUserParams(params: ParamModel): ActionParams | undefined;
    convertODataParams(params: ParamModel extends undefined ? undefined : ActionParams): ParamModel | undefined;
    convertResponse(response: HttpResponseModel<any>): HttpResponseModel<any>;
}
export {};
