import { Environment } from '../ngx-services.models';
import { HttpClient, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs';
import { QueryParams } from './models/api.models';
import { CollectionPaymentsOut, ExistPendingInvoicesIn, ExistPendingPaymentsIn, ExternalShipmentsOut, FileCheckOut, InvoicesOut, PartialWithdrawalsOut, PromotionCodeDiscountsOut, ShipmentsReportOut } from './models/api-reports.types';
import * as i0 from "@angular/core";
export declare class ApiReportsService {
    private environments;
    private http;
    constructor(environments: Environment, http: HttpClient);
    /**
     * Retrieves the URL for the reports API from the environment configurations.
     *
     * @return {string} The URL of the reports API.
     */
    get url(): string;
    /**
     * Retrieves the list of collection payments
     *
     * @param {QueryParams} params - The query parameters used to fetch the collection payments.
     * @return {Observable<CollectionPaymentsOut[]>} An observable that emits an array of collection payment.
     */
    getCollectionPayments(params: QueryParams): Observable<CollectionPaymentsOut>;
    /**
     * Fetches the list of shipments with pending payments.
     *
     * @param {ExistPendingPaymentsIn} params - The parameters to filter pending payment shipments.
     * @return {Observable<ShipmentsReportOut>} An observable emitting the shipments report data.
     */
    getShipmentsPendingPayments(params: ExistPendingPaymentsIn): Observable<ShipmentsReportOut>;
    /**
     * Fetches shipment reports that are pending invoices based on the specified parameters.
     * This method retrieves a filtered list of shipments with pending invoice statuses.
     *
     * @param {ExistPendingInvoicesIn} params - The parameters to filter the pending invoices, including
     *                                           shipment status codes, and pagination options.
     * @return {Observable<ShipmentsReportOut>} An observable that emits the shipment report data based on the filter criteria.
     */
    getShipmentsPendingInvoices(params: ExistPendingInvoicesIn): Observable<ShipmentsReportOut>;
    /**
     * Retrieves a report of shipments that do not have an associated invoice.
     *
     * @param params - The parameters to filter the shipments report. Includes details such as
     *                 shipment status, invoice document ID, and other query parameters.
     * @returns An observable that emits the shipments report data.
     */
    getShipmentsWithoutInvoice(params: ExistPendingInvoicesIn): Observable<ShipmentsReportOut>;
    /**
     * Fetches shipment reports based on the provided query parameters.
     *
     * @param {QueryParams} params - The query parameters used to filter or define the shipment reports.
     * @return {Observable<ShipmentsReportOut>} An observable emitting the shipment report data.
     */
    getShipmentsReport(params: QueryParams): Observable<ShipmentsReportOut>;
    /**
     * Retrieves a report of external shipments based on the provided query parameters.
     *
     * @param {QueryParams} params - An object representing the query parameters for filtering the external shipments report.
     * @return {Observable<ExternalShipmentsOut>} An observable that emits the external shipments report data.
     */
    getExternalShipmentsReport(params: QueryParams): Observable<ExternalShipmentsOut>;
    /**
     * Retrieves a report of promotion code discounts based on the provided query parameters.
     *
     * @param {QueryParams} params - An object representing the query parameters for filtering the promotion code discounts report.
     * @return {Observable<PromotionCodeDiscountsOut>} An observable that emits the promotion code discounts report data.
     */
    getPromotionCodeDiscounts(params: QueryParams): Observable<PromotionCodeDiscountsOut>;
    /**
     * Retrieves the downloadable resource associated with the given transaction ID.
     *
     * @param {string} transactionId - The unique identifier of the transaction whose download is requested.
     * @return {Observable<HttpResponse<ArrayBuffer>>} An observable that emits the HTTP response containing the resource in the form of an ArrayBuffer.
     */
    getDownload(transactionId: string): Observable<HttpResponse<ArrayBuffer>>;
    /**
     * Retrieves file check information for the specified transaction ID.
     *
     * @param {string} transactionId - The ID of the transaction for which the file check information is to be retrieved.
     * @return {Observable<FileCheckOut>} An observable that emits the file check information associated with the given transaction ID.
     */
    getFileCheck(transactionId: string): Observable<FileCheckOut>;
    /**
     * Deletes the file check associated with the provided transaction ID.
     *
     * @param {string} transactionId - The unique identifier of the transaction whose file check is to be deleted.
     * @return {Observable<{}>} An observable emitting the response data after the deletion is processed.
     */
    deleteFileCheck(transactionId: string): Observable<{}>;
    /**
     * Retrieves partial withdrawals based on the provided query parameters.
     *
     * @param {QueryParams} params - The parameters used to filter the list of partial withdrawals.
     * @returns {Observable<PartialWithdrawalsOut>} An observable that emits the filtered list of partial withdrawals.
     */
    getPartialWithdrawals(params: QueryParams): Observable<PartialWithdrawalsOut>;
    /**
     * Retrieves a list of invoices based on the provided query parameters.
     *
     * @param params - The query parameters used to filter the invoices.
     * @returns An observable that emits the list of invoices.
     */
    getInvoices(params: QueryParams): Observable<InvoicesOut>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ApiReportsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ApiReportsService>;
}
