export interface ISelector < State > { < P > ( state ) : P ; < T extends { } , P > ( state , params ) : P ; } export interface ISelectorMap < State > { [ name ] : ISelector < State > ; } export interface ISelectorMaps { [ key ] : ISelectorMap < any > ; } export interface IRootSelectorMaps { [ key ] : ISelectorMaps ; } export type IMappedSelectorMaps < ReducerSchema > = { [ Key in keyof ReducerSchema ] : ISelectorMap < { } > ; } ;