theme-editor-svelte
Version:
Universal theme editor for svelte
26 lines (25 loc) • 737 B
TypeScript
import { type Difference } from 'microdiff';
import { type MaybeGetter, type Setter } from './utils.js';
type LogEvent = {
difference: Difference[];
timestamp: number;
};
type StateHistoryOptions = {
capacity?: MaybeGetter<number>;
};
/**
* Tracks the change history of a value, providing undo and redo capabilities.
*
* @see {@link https://runed.dev/docs/utilities/state-history}
*/
export declare class StateHistoryDiff<T extends Record<string, unknown> | unknown[]> {
#private;
log: LogEvent[];
snapshot: T;
readonly canUndo: boolean;
readonly canRedo: boolean;
constructor(value: MaybeGetter<T>, set: Setter<T>, options?: StateHistoryOptions);
undo(): void;
redo(): void;
}
export {};