import { UndoableItem } from './UndoableContext';
export type UndoableReducerActions = ({
    type: 'undoableAddUndo';
} & UndoableItem) | {
    type: 'undoableUndo';
    past: UndoableItem[];
    future: UndoableItem[];
} | {
    type: 'undoableRedo';
    past: UndoableItem[];
    future: UndoableItem[];
} | {
    type: 'undoableClearHistory';
};
export type UndoableState = {
    past: UndoableItem[];
    future: UndoableItem[];
    canUndo: boolean;
    canRedo: boolean;
};
export declare const initialState: UndoableState;
declare const UndoableReducer: (state: UndoableState | undefined, action: UndoableReducerActions) => UndoableState;
export default UndoableReducer;
