import { HttpClient } from '@angular/common/http';
import { Environment } from '../ngx-services.models';
import { DeliveryConfirmationCompleteIn, DeliveryConfirmationGenerateIn, DeliveryConfirmationGenerateOut, DeliveryConfirmationIn } from './models/api-external-pickups.types';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare class ApiExternalPickupsService {
    private httpClient;
    private environment;
    private appKey;
    constructor(httpClient: HttpClient, environment: Environment);
    /**
     * Getter method to retrieve the API's external operations URL.
     * Fetches the URL from the `apiExternalOperationsUrl` property of the environment object.
     * Defaults to an empty string if the property is undefined or null.
     *
     * @return {string} The external operations URL or an empty string if unavailable.
     */
    get url(): string;
    /**
     * Generates a delivery confirmation by sending the provided payload to the API.
     *
     * @param {DeliveryConfirmationGenerateIn} payload - The input payload required to generate the delivery confirmation.
     * @return {Observable<DeliveryConfirmationGenerateOut>} An observable that emits the generated delivery confirmation data.
     */
    postDeliveryConfirmationGenerate(payload: DeliveryConfirmationGenerateIn): Observable<DeliveryConfirmationGenerateOut>;
    /**
     * Confirms the completion of a delivery operation by making a PATCH request.
     *
     * @param {Object} input - The input parameters for the method.
     * @param {string} input.operationId - The unique identifier of the delivery operation to be confirmed.
     * @param {string} input.keyOTP - The one-time password (OTP) key associated with the delivery confirmation.
     * @return {Observable<Object>} - An observable containing the response data from the API.
     */
    patchDeliveryConfirmationComplete({ keyOTP, operationId, }: DeliveryConfirmationCompleteIn): Observable<{}>;
    /**
     * Cancels a delivery confirmation by sending an OTP and additional data to the server.
     *
     * @param {Object} param0 - The parameter object containing the required properties.
     * @param {string} param0.otp - The one-time password to authenticate the cancellation request.
     * @param {Object} param0.body - Additional body data required for cancellation.
     * @return {Observable<Object>} An observable that emits the server's response when the cancellation is processed.
     */
    putDeliveryConfirmation({ otp, ...body }: DeliveryConfirmationIn): Observable<{}>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ApiExternalPickupsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ApiExternalPickupsService>;
}
