import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http';
import { Observable } from 'rxjs';
import { CreateCryptoProcessorOptions } from '../model/createCryptoProcessorOptions';
import { CreateDepositTicketOptions } from '../model/createDepositTicketOptions';
import { CryptoProcessorResponse } from '../model/cryptoProcessorResponse';
import { DepositTicketResponse } from '../model/depositTicketResponse';
import { InteracETransferSubmissionStatus } from '../model/interacETransferSubmissionStatus';
import { MissingCryptoDeposit } from '../model/missingCryptoDeposit';
import { MissingCryptoDepositStatus } from '../model/missingCryptoDepositStatus';
import { PaginatedInteracETransferSubmissions } from '../model/paginatedInteracETransferSubmissions';
import { PaginatedMissingCryptoDeposits } from '../model/paginatedMissingCryptoDeposits';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare class MissingDepositsService {
    protected httpClient: HttpClient;
    protected basePath: string;
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    encoder: HttpParameterCodec;
    constructor(httpClient: HttpClient, basePath: string, configuration: Configuration);
    private addToHttpParams;
    private addToHttpParamsRecursive;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    approveMissingCryptoDeposit(id: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    approveMissingCryptoDeposit(id: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    approveMissingCryptoDeposit(id: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * Create crypto processor
     * @param createCryptoProcessorOptions
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createCryptoProcessor(createCryptoProcessorOptions?: CreateCryptoProcessorOptions, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CryptoProcessorResponse>;
    createCryptoProcessor(createCryptoProcessorOptions?: CreateCryptoProcessorOptions, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CryptoProcessorResponse>>;
    createCryptoProcessor(createCryptoProcessorOptions?: CreateCryptoProcessorOptions, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CryptoProcessorResponse>>;
    /**
     * Create deposit ticket
     * @param createDepositTicketOptions
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createDepositTicket(createDepositTicketOptions?: CreateDepositTicketOptions, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<MissingCryptoDeposit>;
    createDepositTicket(createDepositTicketOptions?: CreateDepositTicketOptions, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<MissingCryptoDeposit>>;
    createDepositTicket(createDepositTicketOptions?: CreateDepositTicketOptions, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<MissingCryptoDeposit>>;
    /**
     * Delete crypto processor
     * @param accountProviderId
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteCryptoProcessor(accountProviderId: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    deleteCryptoProcessor(accountProviderId: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    deleteCryptoProcessor(accountProviderId: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * Find deposit by tx hash
     * @param productId
     * @param txHash
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    findDepositByTxHash(productId: number, txHash: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<DepositTicketResponse>;
    findDepositByTxHash(productId: number, txHash: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<DepositTicketResponse>>;
    findDepositByTxHash(productId: number, txHash: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<DepositTicketResponse>>;
    /**
     * Get crypto processors
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getCryptoProcessors(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<CryptoProcessorResponse>>;
    getCryptoProcessors(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<CryptoProcessorResponse>>>;
    getCryptoProcessors(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<CryptoProcessorResponse>>>;
    /**
     * Get deposit ticket
     * @param accountId
     * @param ticketNumber
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getDepositTicket(accountId: number, ticketNumber: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<DepositTicketResponse>;
    getDepositTicket(accountId: number, ticketNumber: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<DepositTicketResponse>>;
    getDepositTicket(accountId: number, ticketNumber: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<DepositTicketResponse>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getMissingCryptoDepositFile(id: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<string>;
    getMissingCryptoDepositFile(id: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<string>>;
    getMissingCryptoDepositFile(id: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<string>>;
    /**
     * @param status
     * @param txId
     * @param productId
     * @param page
     * @param size
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getMissingCryptoDeposits(status?: MissingCryptoDepositStatus, txId?: string, productId?: number, page?: number, size?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<PaginatedMissingCryptoDeposits>;
    getMissingCryptoDeposits(status?: MissingCryptoDepositStatus, txId?: string, productId?: number, page?: number, size?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<PaginatedMissingCryptoDeposits>>;
    getMissingCryptoDeposits(status?: MissingCryptoDepositStatus, txId?: string, productId?: number, page?: number, size?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<PaginatedMissingCryptoDeposits>>;
    /**
     * @param status
     * @param page
     * @param size
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getMissingInteracDeposits(status?: InteracETransferSubmissionStatus, page?: number, size?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<PaginatedInteracETransferSubmissions>;
    getMissingInteracDeposits(status?: InteracETransferSubmissionStatus, page?: number, size?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<PaginatedInteracETransferSubmissions>>;
    getMissingInteracDeposits(status?: InteracETransferSubmissionStatus, page?: number, size?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<PaginatedInteracETransferSubmissions>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    rejectMissingCryptoDeposit(id: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    rejectMissingCryptoDeposit(id: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    rejectMissingCryptoDeposit(id: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    restartMissingCryptoDepositProcessor(id: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    restartMissingCryptoDepositProcessor(id: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    restartMissingCryptoDepositProcessor(id: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    sendMissingCryptoDepositProcessedEmail(id: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    sendMissingCryptoDepositProcessedEmail(id: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    sendMissingCryptoDepositProcessedEmail(id: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<MissingDepositsService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MissingDepositsService>;
}
