import { PaparaSingleResult } from "../common/paparaSingleResult";
import { CashDeposit } from "../entities/cashDeposit";
import { CashDepositByDateOptions, CashDepositByReferenceOptions, CashDepositCompleteOptions, CashDepositControlOptions, CashDepositGetOptions, CashDepositSettlementOptions, CashDepositTcknControlOptions, CashDepositToAccountNumberOptions, CashDepositToPhoneOptions, CashDepositToTcknOptions } from "../options";
import { CashDepositProvision, CashDepositSettlement } from "../entities";
import { PaparaArrayResult } from "../common/paparaArrayResult";
/**
* Cash deposit service will be used for deposit operations for an end user.
*/
export declare class CashDepositService {
private requestOptions;
/**
* Initializes a new instance of the class.
* @param apiKey merchant api key
* @param env environment selection
*/
constructor(apiKey: string, env: string);
/**
* Returns a cash deposit information.
*
* @returns PaparaSingleResult Cash Deposit Information
*/
getCashDeposit: (options: CashDepositGetOptions) => Promise>;
/**
* Returns a cash deposit information by cash deposit reference number.
*
* @returns PaparaSingleResult Cash Deposit Information
*/
getCashDepositByReference: (options: CashDepositByReferenceOptions) => Promise>;
/**
* Creates a cash deposit request using end users's phone number.
*
* @param CashDepositToPhoneOptions cash deposit to phone number options
* @returns PaparaSingleResult Cash Deposit Information
*/
createWithPhoneNumber: (options: any) => Promise>;
/**
* Creates a cash deposit request using end user's account number.
*
* @param CashDepositToAccountNumberOptions cash deposit to account number options
* @returns PaparaSingleResult Cash Deposit Information
*/
createWithAccountNumber: (options: CashDepositToAccountNumberOptions) => Promise>;
/**
* Creates a cash deposit request using end users's national identity number.
*
* @param CashDepositToTcknOptions cash deposit to national identity number options
* @returns PaparaSingleResult Cash Deposit Information
*/
createWithTckn: (options: CashDepositToTcknOptions) => Promise>;
/**
* Creates a cash deposit request without upfront payment using end user's national identity number.
*
* @param CashDepositTcknControlOptions create provisiton with tckn options
* @returns PaparaSingleResult Cash Deposit Provision Information
*/
createProvisionWithTcknControl: (options: CashDepositTcknControlOptions) => Promise>;
/**
* Creates a cash deposit request without upfront payment using end user's phone number.
*
* @param CashDepositToPhoneOptions create provisiton with phone number options
* @returns PaparaSingleResult Cash Deposit Provision Information
*/
createProvisionWithPhoneNumber: (options: CashDepositToPhoneOptions) => Promise>;
/**
* Creates a cash deposit request without upfront payment using end user's account number.
*
* @param CashDepositToAccountNumberOptions create provisiton with account number options
* @returns PaparaSingleResult Cash Deposit Provision Information
*/
createProvisionWithAccountNumber: (options: CashDepositToAccountNumberOptions) => Promise>;
/**
* Creates a cash deposit request without upfront payment using end user's tckn.
*
* @param CashDepositToTcknOptions create provisiton with account number options
* @returns PaparaSingleResult Cash Deposit Provision Information
*/
createProvisionWithTckn: (options: CashDepositToTcknOptions) => Promise>;
/**
* Makes a cash deposit ready to be complete.
*
* @param CashDepositControlOptions cash deposit control options
* @returns PaparaSingleResult Cash Deposit Status Information
*/
provisionByReferenceControl: (options: CashDepositControlOptions) => Promise>;
/**
* Completes a cash deposit.
*
* @param CashDepositControlOptions cash deposit control options
* @returns PaparaSingleResult Cash Deposit Status Information
*/
provisionByReferenceComplete: (options: CashDepositControlOptions) => Promise>;
/**
* Completes a cash deposit request without upfront payment.
*
* @param CashDepositCompleteOptions cash deposit complete options
* @returns PaparaSingleResult Cash Deposit Status Information
*/
completeProvision: (options: CashDepositCompleteOptions) => Promise>;
/**
* Returns a cash deposit information by given date.
*
* @param CashDepositByDateOptions cash deposit by date options
* @returns PaparaSingleResult Cash Deposit Information
*/
getCashDepositByDate: (options: CashDepositByDateOptions) => Promise>;
/**
* Returns total transaction volume and count between given dates. Start and end dates are included.
*
* @param CashDepositSettlementOptions cash deposit by date options
* @returns PaparaSingleResult Cash Deposit Settlement Information
*/
settlements: (options: CashDepositSettlementOptions) => Promise>;
/**
* Returns total transaction volume and count between given dates. Start and end dates are included.
*
* @param CashDepositSettlementOptions cash deposit by date options
* @returns PaparaSingleResult Cash Deposit Settlement Information
*/
provisionSettlements: (options: CashDepositSettlementOptions) => Promise>;
}