UNPKG

@ngrx/signals

Version:

Reactive Store and Set of Utilities for Angular Signals

1 lines 102 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-linked-state.ts","../../../../modules/signals/src/with-methods.ts","../../../../modules/signals/src/with-state.ts","../../../../modules/signals/ngrx-signals.ts"],"sourcesContent":["import { computed, isSignal, Signal, untracked } from '@angular/core';\nimport { IsKnownRecord } from './ts-helpers';\n\nconst DEEP_SIGNAL = Symbol('DEEP_SIGNAL');\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 return new Proxy(signal, {\n has(target: any, prop) {\n return !!this.get!(target, prop, undefined);\n },\n get(target: any, prop) {\n const value = untracked(target);\n if (!isRecord(value) || !(prop in value)) {\n if (isSignal(target[prop]) && (target[prop] as any)[DEEP_SIGNAL]) {\n delete target[prop];\n }\n\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 target[prop][DEEP_SIGNAL] = true;\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';\n\ndeclare const ngDevMode: unknown;\n\nconst STATE_WATCHERS = new WeakMap<object, Array<StateWatcher<any>>>();\n\nexport const STATE_SOURCE = Symbol('STATE_SOURCE');\n\nexport type WritableStateSource<State extends object> = {\n [STATE_SOURCE]: { [K in keyof State]: WritableSignal<State[K]> };\n};\n\nexport type StateSource<State extends object> = {\n [STATE_SOURCE]: { [K in keyof State]: Signal<State[K]> };\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 isWritableSignal(\n value: unknown\n): value is WritableSignal<unknown> {\n return (\n isSignal(value) &&\n 'set' in value &&\n 'update' in value &&\n typeof value.set === 'function' &&\n typeof value.update === 'function'\n );\n}\n\nexport function isWritableStateSource<State extends object>(\n stateSource: StateSource<State>\n): stateSource is WritableStateSource<State> {\n const signals: Record<string | symbol, unknown> = stateSource[STATE_SOURCE];\n return Reflect.ownKeys(stateSource[STATE_SOURCE]).every((key) => {\n return isWritableSignal(signals[key]);\n });\n}\n\nexport function patchState<State extends object>(\n stateSource: WritableStateSource<State>,\n ...updaters: Array<\n Partial<NoInfer<State>> | PartialStateUpdater<NoInfer<State>>\n >\n): void {\n const currentState = untracked(() => getState(stateSource));\n const newState = updaters.reduce(\n (nextState: State, updater) => ({\n ...nextState,\n ...(typeof updater === 'function' ? updater(nextState) : updater),\n }),\n currentState\n );\n\n const signals = stateSource[STATE_SOURCE];\n const stateKeys = Reflect.ownKeys(stateSource[STATE_SOURCE]);\n\n for (const key of Reflect.ownKeys(newState)) {\n if (stateKeys.includes(key)) {\n const signalKey = key as keyof State;\n if (currentState[signalKey] !== newState[signalKey]) {\n signals[signalKey].set(newState[signalKey]);\n }\n } else if (typeof ngDevMode !== 'undefined' && ngDevMode) {\n console.warn(\n `@ngrx/signals: patchState was called with an unknown state slice '${String(\n key\n )}'.`,\n 'Ensure that all state properties are explicitly defined in the initial state.',\n 'Updates to properties not present in the initial state will be ignored.'\n );\n }\n }\n\n notifyWatchers(stateSource);\n}\n\nexport function getState<State extends object>(\n stateSource: StateSource<State>\n): State {\n const signals: Record<string | symbol, Signal<unknown>> = stateSource[\n STATE_SOURCE\n ];\n return Reflect.ownKeys(stateSource[STATE_SOURCE]).reduce((state, key) => {\n const value = signals[key]();\n return {\n ...state,\n [key]: value,\n };\n }, {} as State);\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 { computed, signal } from '@angular/core';\nimport { DeepSignal, toDeepSignal } from './deep-signal';\nimport { SignalsDictionary } from './signal-store-models';\nimport { STATE_SOURCE, WritableStateSource } from './state-source';\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 stateKeys = Reflect.ownKeys(initialState);\n\n const stateSource = stateKeys.reduce(\n (signalsDict, key) => ({\n ...signalsDict,\n [key]: signal((initialState as Record<string | symbol, unknown>)[key]),\n }),\n {} as SignalsDictionary\n );\n\n const signalState = computed(() =>\n stateKeys.reduce(\n (state, key) => ({ ...state, [key]: stateSource[key]() }),\n {}\n )\n );\n\n Object.defineProperty(signalState, STATE_SOURCE, {\n value: stateSource,\n });\n\n for (const key of stateKeys) {\n Object.defineProperty(signalState, key, {\n value: toDeepSignal(stateSource[key]),\n });\n }\n\n return signalState as SignalState<State>;\n}\n","import { DestroyRef, inject, Injectable, 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'; protecte