import { z } from "zod"; import { UndoActionEnum, UndoActionMappings, UndoGroup, UndoRecord } from "./UndoManager.types"; export declare const UNDO_MANAGER_SCHEMA_VERSION = 1; export declare const UndoRecordSchema: z.ZodObject<{ action: z.ZodNativeEnum; data: z.ZodType, z.ZodTypeDef, Required>; }, "strip", z.ZodTypeAny, { data: Required; action: UndoActionEnum; }, { data: Required; action: UndoActionEnum; }>; export declare const UndoGroupSchema: z.ZodObject<{ name: z.ZodString; records: z.ZodArray; data: z.ZodType, z.ZodTypeDef, Required>; }, "strip", z.ZodTypeAny, { data: Required; action: UndoActionEnum; }, { data: Required; action: UndoActionEnum; }>, "many">; }, "strip", z.ZodTypeAny, { name: string; records: { data: Required; action: UndoActionEnum; }[]; }, { name: string; records: { data: Required; action: UndoActionEnum; }[]; }>; export declare const UndoManagerSchema: z.ZodObject<{ version: z.ZodDefault; undoHistory: z.ZodArray; data: z.ZodType, z.ZodTypeDef, Required>; }, "strip", z.ZodTypeAny, { data: Required; action: UndoActionEnum; }, { data: Required; action: UndoActionEnum; }>, "many">; }, "strip", z.ZodTypeAny, { name: string; records: { data: Required; action: UndoActionEnum; }[]; }, { name: string; records: { data: Required; action: UndoActionEnum; }[]; }>, "many">; redoHistory: z.ZodArray; data: z.ZodType, z.ZodTypeDef, Required>; }, "strip", z.ZodTypeAny, { data: Required; action: UndoActionEnum; }, { data: Required; action: UndoActionEnum; }>, "many">; }, "strip", z.ZodTypeAny, { name: string; records: { data: Required; action: UndoActionEnum; }[]; }, { name: string; records: { data: Required; action: UndoActionEnum; }[]; }>, "many">; isEnabled: z.ZodBoolean; maxUndoHistory: z.ZodNumber; }, "strip", z.ZodTypeAny, { version: number; undoHistory: { name: string; records: { data: Required; action: UndoActionEnum; }[]; }[]; redoHistory: { name: string; records: { data: Required; action: UndoActionEnum; }[]; }[]; isEnabled: boolean; maxUndoHistory: number; }, { undoHistory: { name: string; records: { data: Required; action: UndoActionEnum; }[]; }[]; redoHistory: { name: string; records: { data: Required; action: UndoActionEnum; }[]; }[]; isEnabled: boolean; maxUndoHistory: number; version?: number | undefined; }>; export declare class UndoManager { private undoHistory; private redoHistory; private isPaused; private isEnabled; private groupStack; private pauseStack; private isPerforming; private maxUndoHistory; undo(): Promise; redo(): Promise; clear(): void; getPerforming(): boolean; getUndoHistory(): string[]; getRedoHistory(): string[]; canUndo(): boolean; canRedo(): boolean; recordUndo(action: T, data: UndoActionMappings[T]): void; recordCustomUndo(action: string, data: any): void; setPause(pause: boolean): void; getPause(): boolean; setEnabled(enabled: boolean): void; getEnabled(): boolean; pushPause(): void; popPause(): void; getPauseStack(): boolean[]; clearPauseStack(): void; startGroup(groupName: string): false | undefined; endGroup(): false | undefined; cancelGroup(): false | undefined; setMaxUndoHistory(max: number): void; getMaxUndoHistory(): number; private clampUndoHistory; destroy(): void; processUndoRedo(undoRecord: UndoRecord, redoGroup: UndoGroup): Promise; serialize(): { version: number; undoHistory: { name: string; records: { data: Required; action: UndoActionEnum; }[]; }[]; redoHistory: { name: string; records: { data: Required; action: UndoActionEnum; }[]; }[]; isEnabled: boolean; maxUndoHistory: number; }; deserialize(data: object): void; static deserialize(data: object): UndoManager; }