//---------------------------------------------------------------------------------------
// Copyright (c) 2001-2025 by Apryse Software Inc. All Rights Reserved.
// Consult legal.txt regarding legal and license information.
//---------------------------------------------------------------------------------------
// !Warning! This file is autogenerated, modify the .codegen file, not this one
// (any changes here will be wiped out during the autogen process)

#ifndef PDFTRON_H_CUndoManager
#define PDFTRON_H_CUndoManager

#ifdef __cplusplus
extern "C" {
#endif

#include <C/Common/TRN_Types.h>
#include <C/Common/TRN_Exception.h>


struct TRN_UndoManager_tag;
typedef struct TRN_UndoManager_tag* TRN_UndoManager;


/* methods: */
TRN_API TRN_UndoManagerDiscardAllSnapshots(TRN_UndoManager self, TRN_DocSnapshot* result);
TRN_API TRN_UndoManagerUndo(TRN_UndoManager self, TRN_ResultSnapshot* result);
TRN_API TRN_UndoManagerCanUndo(TRN_UndoManager self, TRN_Bool* result);
TRN_API TRN_UndoManagerGetNextUndoSnapshot(TRN_UndoManager self, TRN_DocSnapshot* result);
TRN_API TRN_UndoManagerRedo(TRN_UndoManager self, TRN_ResultSnapshot* result);
TRN_API TRN_UndoManagerCanRedo(TRN_UndoManager self, TRN_Bool* result);
TRN_API TRN_UndoManagerGetNextRedoSnapshot(TRN_UndoManager self, TRN_DocSnapshot* result);
TRN_API TRN_UndoManagerTakeSnapshot(TRN_UndoManager self, TRN_ResultSnapshot* result);

TRN_API TRN_UndoManagerDestroy(TRN_UndoManager self);


#ifdef __cplusplus
} // extern C
#endif

#endif /* PDFTRON_H_CUndoManager */
