UNPKG

@ngrx/signals

Version:

Reactive Store and Set of Utilities for Angular Signals

1 lines 93 kB
{"version":3,"file":"ngrx-signals.mjs","sources":["../../../../modules/signals/src/deep-signal.ts","../../../../modules/signals/src/deep-computed.ts","../../../../modules/signals/src/signal-method.ts","../../../../modules/signals/src/state-source.ts","../../../../modules/signals/src/signal-state.ts","../../../../modules/signals/src/signal-store.ts","../../../../modules/signals/src/signal-store-feature.ts","../../../../modules/signals/src/signal-store-assertions.ts","../../../../modules/signals/src/with-props.ts","../../../../modules/signals/src/with-computed.ts","../../../../modules/signals/src/with-feature.ts","../../../../modules/signals/src/with-hooks.ts","../../../../modules/signals/src/with-methods.ts","../../../../modules/signals/src/with-state.ts","../../../../modules/signals/ngrx-signals.ts"],"sourcesContent":["import {\n computed,\n isSignal,\n Signal as NgSignal,\n untracked,\n} from '@angular/core';\nimport { IsKnownRecord } from './ts-helpers';\n\n// An extended Signal type that enables the correct typing\n// of nested signals with the `name` or `length` key.\nexport interface Signal<T> extends NgSignal<T> {\n name: unknown;\n length: unknown;\n}\n\nexport type DeepSignal<T> = Signal<T> &\n (IsKnownRecord<T> extends true\n ? Readonly<{\n [K in keyof T]: IsKnownRecord<T[K]> extends true\n ? DeepSignal<T[K]>\n : Signal<T[K]>;\n }>\n : unknown);\n\nexport function toDeepSignal<T>(signal: Signal<T>): DeepSignal<T> {\n const value = untracked(() => signal());\n if (!isRecord(value)) {\n return signal as DeepSignal<T>;\n }\n\n return new Proxy(signal, {\n get(target: any, prop) {\n if (!(prop in value)) {\n return target[prop];\n }\n\n if (!isSignal(target[prop])) {\n Object.defineProperty(target, prop, {\n value: computed(() => target()[prop]),\n configurable: true,\n });\n }\n\n return toDeepSignal(target[prop]);\n },\n });\n}\n\nconst nonRecords = [\n WeakSet,\n WeakMap,\n Promise,\n Date,\n Error,\n RegExp,\n ArrayBuffer,\n DataView,\n Function,\n];\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n if (value === null || typeof value !== 'object' || isIterable(value)) {\n return false;\n }\n\n let proto = Object.getPrototypeOf(value);\n if (proto === Object.prototype) {\n return true;\n }\n\n while (proto && proto !== Object.prototype) {\n if (nonRecords.includes(proto.constructor)) {\n return false;\n }\n proto = Object.getPrototypeOf(proto);\n }\n\n return proto === Object.prototype;\n}\n\nfunction isIterable(value: any): value is Iterable<any> {\n return typeof value?.[Symbol.iterator] === 'function';\n}\n","import { computed } from '@angular/core';\nimport { DeepSignal, toDeepSignal } from './deep-signal';\n\nexport function deepComputed<T extends object>(\n computation: () => T\n): DeepSignal<T> {\n return toDeepSignal(computed(computation));\n}\n","import {\n assertInInjectionContext,\n DestroyRef,\n effect,\n EffectRef,\n inject,\n Injector,\n isSignal,\n Signal,\n untracked,\n} from '@angular/core';\n\ndeclare const ngDevMode: unknown;\n\nexport type SignalMethod<Input> = ((\n input: Input | Signal<Input>,\n config?: { injector?: Injector }\n) => EffectRef) &\n EffectRef;\n\nexport function signalMethod<Input>(\n processingFn: (value: Input) => void,\n config?: { injector?: Injector }\n): SignalMethod<Input> {\n if (!config?.injector) {\n assertInInjectionContext(signalMethod);\n }\n\n const watchers: EffectRef[] = [];\n const sourceInjector = config?.injector ?? inject(Injector);\n\n const signalMethodFn = (\n input: Input | Signal<Input>,\n config?: { injector?: Injector }\n ): EffectRef => {\n if (isSignal(input)) {\n const callerInjector = getCallerInjector();\n if (\n typeof ngDevMode !== 'undefined' &&\n ngDevMode &&\n config?.injector === undefined &&\n callerInjector === undefined\n ) {\n console.warn(\n '@ngrx/signals: The function returned by signalMethod was called',\n 'outside the injection context with a signal. This may lead to',\n 'a memory leak. Make sure to call it within the injection context',\n '(e.g. in a constructor or field initializer) or pass an injector',\n 'explicitly via the config parameter.\\n\\nFor more information, see:',\n 'https://ngrx.io/guide/signals/signal-method#automatic-cleanup'\n );\n }\n\n const instanceInjector =\n config?.injector ?? callerInjector ?? sourceInjector;\n\n const watcher = effect(\n () => {\n const value = input();\n untracked(() => processingFn(value));\n },\n { injector: instanceInjector }\n );\n watchers.push(watcher);\n\n instanceInjector.get(DestroyRef).onDestroy(() => {\n const ix = watchers.indexOf(watcher);\n if (ix !== -1) {\n watchers.splice(ix, 1);\n }\n });\n\n return watcher;\n } else {\n processingFn(input);\n return { destroy: () => void true };\n }\n };\n\n signalMethodFn.destroy = () =>\n watchers.forEach((watcher) => watcher.destroy());\n\n return signalMethodFn;\n}\n\nfunction getCallerInjector(): Injector | undefined {\n try {\n return inject(Injector);\n } catch {\n return undefined;\n }\n}\n","import {\n assertInInjectionContext,\n DestroyRef,\n inject,\n Injector,\n isSignal,\n Signal,\n untracked,\n WritableSignal,\n} from '@angular/core';\nimport { Prettify } from './ts-helpers';\n\nconst STATE_WATCHERS = new WeakMap<Signal<object>, Array<StateWatcher<any>>>();\n\nexport const STATE_SOURCE = Symbol('STATE_SOURCE');\n\nexport type WritableStateSource<State extends object> = {\n [STATE_SOURCE]: WritableSignal<State>;\n};\n\nexport type StateSource<State extends object> = {\n [STATE_SOURCE]: Signal<State>;\n};\n\nexport type PartialStateUpdater<State extends object> = (\n state: State\n) => Partial<State>;\n\nexport type StateWatcher<State extends object> = (\n state: NoInfer<State>\n) => void;\n\nexport function isWritableStateSource<State extends object>(\n stateSource: StateSource<State>\n): stateSource is WritableStateSource<State> {\n return (\n 'set' in stateSource[STATE_SOURCE] &&\n 'update' in stateSource[STATE_SOURCE] &&\n typeof stateSource[STATE_SOURCE].set === 'function' &&\n typeof stateSource[STATE_SOURCE].update === 'function'\n );\n}\n\nexport function patchState<State extends object>(\n stateSource: WritableStateSource<State>,\n ...updaters: Array<\n Partial<Prettify<State>> | PartialStateUpdater<Prettify<State>>\n >\n): void {\n stateSource[STATE_SOURCE].update((currentState) =>\n updaters.reduce(\n (nextState: State, updater) => ({\n ...nextState,\n ...(typeof updater === 'function' ? updater(nextState) : updater),\n }),\n currentState\n )\n );\n\n notifyWatchers(stateSource);\n}\n\nexport function getState<State extends object>(\n stateSource: StateSource<State>\n): State {\n return stateSource[STATE_SOURCE]();\n}\n\nexport function watchState<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>,\n config?: { injector?: Injector }\n): { destroy(): void } {\n if (!config?.injector) {\n assertInInjectionContext(watchState);\n }\n\n const injector = config?.injector ?? inject(Injector);\n const destroyRef = injector.get(DestroyRef);\n\n addWatcher(stateSource, watcher);\n watcher(getState(stateSource));\n\n const destroy = () => removeWatcher(stateSource, watcher);\n destroyRef.onDestroy(destroy);\n\n return { destroy };\n}\n\nfunction getWatchers<State extends object>(\n stateSource: StateSource<State>\n): Array<StateWatcher<State>> {\n return STATE_WATCHERS.get(stateSource[STATE_SOURCE]) || [];\n}\n\nfunction notifyWatchers<State extends object>(\n stateSource: StateSource<State>\n): void {\n const watchers = getWatchers(stateSource);\n\n for (const watcher of watchers) {\n const state = untracked(() => getState(stateSource));\n watcher(state);\n }\n}\n\nfunction addWatcher<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>\n): void {\n const watchers = getWatchers(stateSource);\n STATE_WATCHERS.set(stateSource[STATE_SOURCE], [...watchers, watcher]);\n}\n\nfunction removeWatcher<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>\n): void {\n const watchers = getWatchers(stateSource);\n STATE_WATCHERS.set(\n stateSource[STATE_SOURCE],\n watchers.filter((w) => w !== watcher)\n );\n}\n","import { signal } from '@angular/core';\nimport { STATE_SOURCE, WritableStateSource } from './state-source';\nimport { DeepSignal, toDeepSignal } from './deep-signal';\n\nexport type SignalState<State extends object> = DeepSignal<State> &\n WritableStateSource<State>;\n\nexport function signalState<State extends object>(\n initialState: State\n): SignalState<State> {\n const stateSource = signal(initialState as State);\n const signalState = toDeepSignal(stateSource.asReadonly());\n Object.defineProperty(signalState, STATE_SOURCE, {\n value: stateSource,\n });\n\n return signalState as SignalState<State>;\n}\n","import { DestroyRef, inject, Injectable, signal, Type } from '@angular/core';\nimport { STATE_SOURCE, StateSource, WritableStateSource } from './state-source';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { OmitPrivate, Prettify } from './ts-helpers';\n\ntype SignalStoreConfig = { providedIn?: 'root'; protectedState?: boolean };\n\ntype SignalStoreMembers<FeatureResult extends SignalStoreFeatureResult> =\n Prettify<\n OmitPrivate<\n StateSignals<FeatureResult['state']> &\n FeatureResult['props'] &\n FeatureResult['methods']\n >\n >;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> & StateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10, F11>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n F15 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14 &\n F15\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >,\n f15: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13 & F14,\n F15\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> & StateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10, F11>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n F15 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14 &\n F15\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >,\n f15: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13 & F14,\n F15\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> &\n WritableStateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9