import { Reducer, AnyAction } from '@reduxjs/toolkit';
export declare const makeHistory: <State>(state?: State) => StateWithHistory<State>;
export interface StateWithHistory<State> {
    past: State[];
    present?: State;
    future: State[];
}
export declare const undoable: <State>(options: {
    reducer: Reducer<State>;
    actionTypes: {
        undo: string;
        redo: string;
        snapshot: string;
    };
}) => (state: StateWithHistory<State> | undefined, action: AnyAction) => StateWithHistory<State>;
