import { TimeCapsule } from './timecapsule.js'; /** * Type definition for holding state information. * @typedef {Object} StateHolder * @property {*} state - The state to be held. */ export type StateHolder = { state: any; }; /** * Class responsible for taking and managing snapshots of state. */ export declare class SnapshotTaker { private _brake; dirty: boolean; state_holder?: StateHolder; timecapsule?: TimeCapsule; /** * Creates an instance of SnapshotTaker. * @param {*} state_holder - The object that holds the state to be snapshot. * @param {TimeCapsule} timecapsule - The TimeCapsule instance associated with this SnapshotTaker. */ constructor(state_holder: any, timecapsule: TimeCapsule); /** * Disposes of the SnapshotTaker and clears associated references. */ dispose(): void; /** * Marks the SnapshotTaker as dirty and initiates snapshot creation. */ touch(): void; /** * Takes a snapshot of the current state. * @param {boolean} [force=false] - If true, the snapshot is taken even if not dirty. */ take(force?: boolean): void; /** * Gets the brake state of the SnapshotTaker. * @returns {boolean} - true if the brake is active, false otherwise. */ get brake(): boolean; /** * Sets the brake state of the SnapshotTaker and initiates snapshot creation. * @param {boolean} brake - The new brake state. */ set brake(brake: boolean); }