import { AnyAction, Reducer } from 'redux'; export declare class ContainerStateHistory { private historyIndex; private history; constructor(); undo(state: T): T; forward(state: T): T; middleware(state: T, action: AnyAction): void; canUndoContainerState(): boolean; canRedoContainerState(): boolean; } export declare function createContainerStateHistory(): ContainerStateHistory; export declare function undoable(reducer: Reducer, externalHistory?: ContainerStateHistory): Reducer;