import type { Observable } from 'rxjs'; import type { RaidenAction } from '../../actions'; import { messageReceived, messageSend, messageServiceSend } from '../../messages/actions'; import type { RaidenState } from '../../state'; import type { RaidenEpicDeps } from '../../types'; import { matrixPresence } from '../actions'; /** * Handles a [[messageSend.request]] action and send its message to peer through rtcChannel or * toDevice * * @param action$ - Observable of messageSend.request actions * @param state$ - Observable of RaidenStates * @param deps - RaidenEpicDeps members * @returns Observable of messageSend.success | messageSend.failure actions */ export declare function matrixMessageSendEpic(action$: Observable, {}: Observable, deps: RaidenEpicDeps): Observable; /** * Handles a [[messageServiceSend.request]] action and send one-shot message to a service * * @param action$ - Observable of messageServiceSend actions * @param state$ - Observable of RaidenStates * @param deps - Epics dependencies * @returns Observable of messageServiceSend.success|failure actions */ export declare function matrixMessageServiceSendEpic(action$: Observable, {}: Observable, deps: RaidenEpicDeps): Observable; /** * Subscribe to matrix messages and emits MessageReceivedAction upon receiving a valid message from * an user of interest (one valid signature from an address we monitor) in a room we have for them * * @param action$ - Observable of RaidenActions * @param state$ - Observable of RaidenStates * @param deps - RaidenEpicDeps members * @param deps.log - Logger instance * @param deps.matrix$ - MatrixClient async subject * @param deps.config$ - Config observable * @param deps.latest$ - Latest values * @returns Observable of messageReceived|matrixPresence.request actions */ export declare function matrixMessageReceivedEpic(action$: Observable, {}: Observable, { log, matrix$, config$, latest$ }: RaidenEpicDeps): Observable; /** * Sends Delivered for specific messages * * @param action$ - Observable of messageReceived actions * @param state$ - Observable of RaidenStates * @param deps - RaidenEpicDeps members * @param deps.log - Logger instance * @param deps.signer - Signer instance * @returns Observable of messageSend.request actions */ export declare function deliveredEpic(action$: Observable, {}: Observable, { log, signer }: RaidenEpicDeps): Observable;