import { ActionsObservable, StateObservable } from 'redux-observable'; import { Observable } from 'rxjs'; import { RootState } from '../../../../rootStateTypes'; import { ZeniAPI } from '../../../../zeniAPI'; import { fetchBulkUploadBatchesSuccess, restoreBulkUploadAutomatchingOnMount, restoreBulkUploadMatchingState } from '../../reducers/missingReceiptsViewReducer'; export type ActionType = ReturnType | ReturnType | ReturnType; /** * On missing-receipts entry / period switch, hydrate the automatching banner for the logged-in * user without relying on UI-driven list fetches (the Missing tab does not fetch the batch list * while `phase === 'idle'`). Flow: * 1. Call `GET /1.0/batches` (rolling 30-day window). * 2. Emit `fetchBulkUploadBatchesSuccess` so `batchListByPeriod` is populated for the selected * period (prevents a duplicate list fetch when the user switches to the Unmatched tab). * 3. For each `processing|pending` row, call `GET /1.0/batches/:id` in order; for the first row * whose details `user_id` matches the logged-in user and whose status is still * pending/processing, dispatch `restoreBulkUploadMatchingState` and stop. */ export declare const restoreBulkUploadAutomatchingOnMountEpic: (actions$: ActionsObservable, state$: StateObservable, zeniAPI: ZeniAPI) => Observable;