declare module "redux-store-templates/list"; import { Reducer } from "redux"; import { ApplyOptions } from "../models"; export interface ListState { byId: { [key: string]: T }; ids: string[]; } /* create reducer */ export interface CreateReducerOptions { idName: string; initialItems?: T[]; setOn?: ApplyOptions; addOn?: ApplyOptions; removeOn?: ApplyOptions; clearOn?: ApplyOptions; } export function createReducer( opt: CreateReducerOptions ): Reducer>; /* create selector */ export interface CreateSelectorAllOptions { selector(state: any): ListState; } export function createSelectorAll( opt: CreateSelectorAllOptions ): (state: any) => T[]; export interface CreateSelectorByIdOptions { selector(state: any): ListState; } export function createSelectorById( opt: CreateSelectorByIdOptions ): (state: any, id: string) => T; export function createSelectorById( opt: CreateSelectorByIdOptions ): (state: any, id: string[]) => T[];