import { Common } from "../namespaces/common.namespace";
import { HttpService } from "../services/http.service";
/**
 * Common operation
 * @description
 */
export declare abstract class CommonOperation<TData, TResponse extends Common.Interfaces.ISaleToPOIResponse> {
    /**
     * Config
     * @description Operation config
     */
    protected readonly config: Common.Interfaces.IOperationConfig;
    /**
     * Service
     * @description Service to handle requests
     */
    protected readonly service: HttpService;
    /**
     * Data
     * @description Operation data
     */
    protected readonly data: TData;
    /**
     * Constructor
     * @param config
     * @param service
     * @param data
     */
    constructor(config: Common.Interfaces.IOperationConfig, service: HttpService, data: TData);
    /**
     * Execute
     * @description Execute operation
     */
    abstract execute(): Promise<TResponse>;
}
