import { Subject } from 'rxjs'; export declare type Dispatcher = Subject>; export declare type DispatchersList = Subject>>; export interface AnyAction { type: T; [extraProps: string]: any; } export declare type Reducer = (state: any, action: AnyAction) => R; export declare type Constants = { [key: string]: string; }; export declare type Dispatch = >(action: A) => A; export interface AnyItem { id: string | number; [extraProps: string]: any; } export declare const genRandomString: () => string; export declare const defaultGenId: () => string; export declare const ensureArray: (items: any) => T[]; export declare const createConstant: (name: string, constant: string) => string; export declare const createConstants: (name: string, constants: C[]) => { [key in C]: string; }; export declare const wrapDispatchSubject: (dispatch$: Subject) => >(action: A) => A; export declare const getType: (action: AnyAction) => any;