import { Observable, OperatorFunction, ObservedValueOf } from 'rxjs'; declare function concatLatestFrom[], V>(observablesFactory: (value: V) => [...T]): OperatorFunction; }]>; declare function concatLatestFrom, V>(observableFactory: (value: V) => T): OperatorFunction]>; type MapResponseObserver = { next: (value: T) => R1; error: (error: E) => R2; }; /** * `mapResponse` is a map operator with included error handling. * It is similar to `tapResponse`, but allows to map the response as well. * * The main use case is for NgRx Effects which requires an action to be dispatched. * * @usageNotes * ```ts * export const loadAllUsers = createEffect(( * actions$ = inject(Actions), * usersService = inject(UsersService) * ) => { * return actions$.pipe( * ofType(UsersPageActions.opened), * exhaustMap(() => { * return usersService.getAll().pipe( * mapResponse({ * next: (users) => UsersApiActions.usersLoadedSuccess({ users }), * error: (error) => UsersApiActions.usersLoadedFailure({ error }), * }) * ); * }) * ); * }); * ``` */ declare function mapResponse(observer: MapResponseObserver): (source$: Observable) => Observable; type TapResponseObserver = { next: (value: T) => void; error: (error: E) => void; complete?: () => void; finalize?: () => void; }; declare function tapResponse(observer: TapResponseObserver): (source$: Observable) => Observable; /** * @deprecated Instead of passing a sequence of callbacks, use an observer * object. For more info see: https://github.com/ngrx/platform/issues/4840 */ declare function tapResponse(next: (value: T) => void, error: (error: E) => void, complete?: () => void): (source$: Observable) => Observable; export { concatLatestFrom, mapResponse, tapResponse };