import { ActionsObservable, StateObservable } from 'redux-observable'; import { Observable } from 'rxjs'; import { updateAddresses } from '../../../entity/address/addressReducer'; import { updateInvoicingSubscriptions } from '../../../entity/invoicing/invoicingSubscription/invoicingSubscriptionReducer'; import { openSnackbar } from '../../../entity/snackbar/snackbarReducer'; import { RootState } from '../../../rootStateTypes'; import { ZeniAPI } from '../../../zeniAPI'; import { resetNewAddressDataInLocalStore } from '../../addressView/addressViewReducer'; import { submitInvoicingSubscriptionFormFailure, submitInvoicingSubscriptionFormSuccess, syncInvoicingSubscriptionCoupons } from './editInvoicingSubscriptionDetailViewReducer'; export type ActionType = ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType; /** * After a commercial PUT, sync coupon attach/detach via dedicated endpoints * (PUT does not replace coupons). Runs remove-then-apply; on success finishes * the save flow (entity merge + address reset + form success), on failure * dispatches the form failure so the swallowed-error false success no longer * happens. */ export declare const syncInvoicingSubscriptionCouponsEpic: (actions$: ActionsObservable, _state$: StateObservable, zeniAPI: ZeniAPI) => Observable;