/** * @license * Copyright 2023 Google LLC * SPDX-License-Identifier: Apache-2.0 */ /** * Class for an event representing an intermediate change to a block's field's * value. * * @class */ import type { Block } from '../block.js'; import { Workspace } from '../workspace.js'; import { BlockBase, BlockBaseJson } from './events_block_base.js'; import { EventType } from './type.js'; /** * Notifies listeners when the value of a block's field has changed but the * change is not yet complete, and is expected to be followed by a block change * event. */ export declare class BlockFieldIntermediateChange extends BlockBase { type: EventType; recordUndo: boolean; /** The name of the field that changed. */ name?: string; /** The original value of the element. */ oldValue: unknown; /** The new value of the element. */ newValue: unknown; /** * @param opt_block The changed block. Undefined for a blank event. * @param opt_name Name of the field affected. * @param opt_oldValue Previous value of element. * @param opt_newValue New value of element. */ constructor(opt_block?: Block, opt_name?: string, opt_oldValue?: unknown, opt_newValue?: unknown); /** * Encode the event as JSON. * * @returns JSON representation. */ toJson(): BlockFieldIntermediateChangeJson; /** * Deserializes the JSON event. * * @param event The event to append new properties to. Should be a subclass * of BlockFieldIntermediateChange, but we can't specify that due to the * fact that parameters to static methods in subclasses must be supertypes * of parameters to static methods in superclasses. * @internal */ static fromJson(json: BlockFieldIntermediateChangeJson, workspace: Workspace, event?: any): BlockFieldIntermediateChange; /** * Does this event record any change of state? * * @returns False if something changed. */ isNull(): boolean; /** * Run a change event. * * @param forward True if run forward, false if run backward (undo). */ run(forward: boolean): void; } export interface BlockFieldIntermediateChangeJson extends BlockBaseJson { name: string; newValue: unknown; oldValue: unknown; } //# sourceMappingURL=events_block_field_intermediate_change.d.ts.map