@jager-ai/holy-editor
Version:
Rich text editor with Bible verse slash commands and PWA keyboard tracking, extracted from Holy Habit project
85 lines • 1.92 kB
TypeScript
/**
* Auto Save Manager
*
* Manages automatic saving of editor content to localStorage
* Extracted from Holy Habit auto-save functionality
*/
import { AutoSaveOptions } from '../types/Editor';
export declare class AutoSaveManager {
private editorId;
private storageKey;
private saveInterval;
private maxSize;
private intervalId;
private lastSaveTime;
private version;
private onSave?;
private onRestore?;
private onError?;
private storageAvailable;
constructor(editorId: string, options?: AutoSaveOptions);
/**
* Check if localStorage is available
*/
private checkStorageAvailability;
/**
* Start auto-saving
*/
start(getContent: () => string): void;
/**
* Stop auto-saving
*/
stop(): void;
/**
* Save content to localStorage
*/
save(content: string): boolean;
/**
* Restore content from localStorage
*/
restore(): string | null;
/**
* Clear saved content
*/
clear(): boolean;
/**
* Get save info without restoring content
*/
getSaveInfo(): {
timestamp: number;
size: number;
} | null;
/**
* Check if there's saved content
*/
hasSavedContent(): boolean;
/**
* Get time since last save
*/
getTimeSinceLastSave(): number;
/**
* Update save interval
*/
updateInterval(newInterval: number, getContent?: () => string): void;
/**
* Handle errors
*/
private handleError;
/**
* Get storage key
*/
getStorageKey(): string;
/**
* Check if auto-save is running
*/
isRunning(): boolean;
/**
* Get all saved editor keys
*/
static getAllSavedEditors(): string[];
/**
* Clear all saved content for all editors
*/
static clearAll(): number;
}
//# sourceMappingURL=AutoSaveManager.d.ts.map