import type { Observable } from 'rxjs'; import type { RaidenAction } from '../../actions'; import type { RaidenState } from '../../state'; import type { RaidenEpicDeps } from '../../types'; import { udcDeposit, udcWithdraw, udcWithdrawPlan } from '../actions'; /** * Monitors the balance of UDC and emits udcDeposited, made available in Latest['udcDeposit'] * * @param action$ - Observable of newBlock actions * @param state$ - Observable of RaidenStates * @param deps - Epics dependencies * @param deps.address - Our address * @param deps.latest$ - Latest observable * @param deps.userDepositContract - UserDeposit contract instance * @param deps.config$ - Config observable * @returns Observable of udcDeposited actions */ export declare function monitorUdcBalanceEpic(action$: Observable, {}: Observable, { address, latest$, config$, userDepositContract }: RaidenEpicDeps): Observable; /** * Handles a udcDeposit.request and deposit SVT/RDN to UDC * * @param action$ - Observable of udcDeposit.request actions * @param state$ - Observable of RaidenStates * @param deps - Epics dependencies * @returns - Observable of udcDeposit.failure|udcDeposit.success actions */ export declare function udcDepositEpic(action$: Observable, {}: Observable, deps: RaidenEpicDeps): Observable; /** * Handle a UDC withdraw request and send plan transaction * * @param action$ - Observable of udcWithdrawPlan.request actions * @param state$ - Observable of RaidenStates * @param deps - Epics dependencies * @returns Observable of udcWithdrawPlan.success|udcWithdrawPlan.failure actions */ export declare function udcWithdrawPlanRequestEpic(action$: Observable, {}: Observable, deps: RaidenEpicDeps): Observable; /** * If config.autoUDCWithdraw is enabled, monitors planned withdraws and udcWithdraw.request when * ready * * @param action$ - Observable of RaidenActions * @param state$ - Observable of RaidenStates * @param deps - Epics dependencies * @param deps.userDepositContract - UDC contract instance * @param deps.address - Our address * @param deps.config$ - Config observable * @param deps.log - Logger instance * @returns Observable of udcWithdrawPlan.success actions */ export declare function udcAutoWithdrawEpic(action$: Observable, {}: Observable, { userDepositContract, address, config$, log }: RaidenEpicDeps): Observable; /** * Handle a udcWithdraw.request and attempt to withdraw from UDC * * @param action$ - Observable of udcWithdraw.request actions * @param state$ - Observable of RaidenStates * @param deps - Epics dependencies * @returns Observable of udcWithdraw.success|udcWithdraw.failure actions */ export declare function udcWithdrawEpic(action$: Observable, {}: Observable, deps: RaidenEpicDeps): Observable;