1 | import { MemoizedSelector } from './selector';
|
2 | export declare type FeatureSelector<AppState extends Record<string, any>, FeatureName extends keyof AppState & string, FeatureState extends AppState[FeatureName]> = {
|
3 | [K in FeatureName as `select${Capitalize<K>}State`]: MemoizedSelector<AppState, FeatureState>;
|
4 | };
|
5 | export declare type NestedSelectors<AppState extends Record<string, any>, FeatureState> = FeatureState extends Primitive | unknown[] | Date ? {} : {
|
6 | [K in keyof FeatureState & string as `select${Capitalize<K>}`]: MemoizedSelector<AppState, FeatureState[K]>;
|
7 | };
|
8 | declare type Primitive = string | number | bigint | boolean | null | undefined;
|
9 | export {};
|