import { Injector, type Signal } from '@angular/core'; import { Observable, Subscription, type RetryConfig } from 'rxjs'; export type CreateEffectOptions = { injector?: Injector; /** * @param retryOnError * Set to 'false' to disable retrying on error. * Otherwise, generated effect will use `retry()`. * You can pass `RetryConfig` object here to configure `retry()` operator. */ retryOnError?: boolean | RetryConfig; }; /** * This code is a copied `ComponentStore.effect()` method from NgRx and edited to: * 1) be a standalone function; * 2) use `takeUntilDestroyed()` with an injected `DestroyRef`; * 3) resubscribe on errors. * * Credits: NgRx Team * https://ngrx.io/ * Source: https://github.com/ngrx/platform/blob/main/modules/component-store/src/component-store.ts#L382 * Docs: * https://ngrx.io/guide/component-store/effect#effect-method */ export declare function createEffect | unknown = Observable, ObservableType = OriginType extends Observable ? A : never, ReturnType = ProvidedType | ObservableType extends void ? (observableOrValue?: ObservableType | Observable | Signal) => Subscription : (observableOrValue: ObservableType | Observable | Signal) => Subscription>(generator: (origin$: OriginType) => Observable, options?: CreateEffectOptions): ReturnType;