import type { Observable } from 'rxjs';
import type { RaidenAction } from '../../actions';
import { messageSend } from '../../messages/actions';
import type { RaidenState } from '../../state';
import type { RaidenEpicDeps } from '../../types';
import { transfer, transferExpireProcessed, transferProcessed, transferUnlockProcessed } from '../actions';
/**
 * Handles receiving a signed Processed for some sent LockedTransfer, Unlock or LockExpired
 * This will persist the Processed reply in transfer state and stop message retry
 *
 * @param action$ - Observable of messageReceived actions
 * @param state$ - Observable of RaidenStates
 * @returns Observable of transfer*Processed|transfer.success actions
 */
export declare function transferProcessedReceivedEpic(action$: Observable<RaidenAction>, state$: Observable<RaidenState>): Observable<transfer.success | transferProcessed | transferUnlockProcessed | transferExpireProcessed>;
/**
 * Handles sending Processed for a received EnvelopeMessages
 *
 * @param action$ - Observable of transferProcessed actions
 * @param state$ - Observable of RaidenStates
 * @param deps - Epics dependencies
 * @param deps.db - Database instance
 * @returns Observable of messageSend.request actions
 */
export declare function transferProcessedSendEpic(action$: Observable<RaidenAction>, state$: Observable<RaidenState>, { db }: RaidenEpicDeps): Observable<messageSend.request>;
