import { Dispatch, Store, Unsubscribe } from "./redux"; export function shallowEquals(a: any, b: any): boolean; export interface Options { skipInitialCall?: boolean; equals?: typeof shallowEquals; } export type Mapper = (state: S) => MS; export type Observer = (state: S, dispatch: Dispatch) => void; export type Dispatcher = ( dispatch: Dispatch, current: MS, previous?: MS ) => void; export interface ObserverCreator { (dispatcher: Dispatcher, locals?: Options): Observer; ( mapper: Mapper, dispatcher: Dispatcher, locals?: Options ): Observer; } export const observer: ObserverCreator; export function observe( store: Store, observers: Observer[], globals?: Options ): Unsubscribe;