import type { Observable } from 'rxjs';
import type { RaidenAction } from '../../actions';
import type { RaidenState } from '../../state';
import type { RaidenEpicDeps } from '../../types';
import { transfer, transferExpire } from '../actions';
/**
 * Process newBlocks, emits transferExpire.request (request to compose&sign LockExpired for a
 * transfer) if pending transfer's lock expired and transfer didn't unlock (succeed) in time
 * Also, emits transfer.failure, to notify users that a transfer has failed (although it'll only be
 * considered as completed with fail once the transferExpireProcessed arrives).
 *
 * @param action$ - Observable of newBlock|transferExpire.success|transferExpire.failure actions
 * @param state$ - Observable of RaidenStates
 * @param deps - Epics dependencies
 * @param deps.config$ - Config observable
 * @returns Observable of transferExpire.request|transfer.failure actions
 */
export declare function transferAutoExpireEpic({}: Observable<RaidenAction>, state$: Observable<RaidenState>, { config$ }: RaidenEpicDeps): Observable<transferExpire.request | transfer.failure>;
