import { Workspace, Block } from '@kano/kwc-blockly/blockly.js'; import { Editor } from '../../../editor/editor.js'; import { Engine } from '../../../challenge/engine.js'; declare class BlocklyChallenge extends Engine { workspace?: Workspace; protected eventsMap: { [K: string]: string; }; developmentMode: boolean; constructor(editor: Editor); getWorkspace(): Workspace; _updateStep(): void; _wrongCategory(): void; _deleteNotExpected(validation: any, detail: any): void; _flyoutClosed(): void; _onPhantomBlockEnter(phantom_block: any): false | undefined; setPhantomBlockByPosition(): void; _onPhantomBlockLeave(): void; _getOpenFlyoutStep(data: any): { validation: { blockly: { 'open-flyout': any; }; }; }; _getCloseFlyoutStep(data: any): { validation: { blockly: { 'close-flyout': any; }; }; }; _getCreateBlockStep(data: any): { validation: { blockly: { create: { type: string; alias: any; }; }; }; }; _getConnectBlockStep(data: any): { validation: { blockly: { connect: { parent: any; target: string; }; }; }; phantom_block: any; }; _getDropBlockStep(data: any): { validation: { blockly: { drop: { target: string; }; }; }; phantom_block: any; }; _startStepShorthand(data: any): any; _createBlockShorthand(data: any): any[]; _changeInputShorthand(data: any): { validation: { blockly: { value: { target: any; value: any; skipCheck: any; }; }; }; }; /** * Check if the event is about a specific toolbox entry * @param toolboxEntry An id for a toolbox entry * @param event An event from the Blockly workspace */ _matchCategory(toolboxEntry: string, event: any): boolean; _matchBlockType(type: string, event: any): boolean; _matchDelete(validation: any, event: any): boolean; /** * Check whether the create event received matches the expected validation * @param validation A validation object defined in a challenge step * @param event An event from the Blockly workspace */ _matchCreate(validation: any, event: any): boolean; /** * Check whether the connect event received matches the expected validation * @param validation A validation object defined in a challenge step * @param event An event from the Blockly workspace */ _matchConnect(validation: any, event: any): boolean; /** * Check whether a block dropped on the workspace matches the expected block * @param validation A validation object defined in a challenge step * @param event An event from the Blockly workspace */ _matchDrop(validation: any, event: any): boolean; /** * Check wether the value change event from blockly matches the validation * @param validation A validation object defined in a challenge step * @param event An event from the Blockly workspace */ _matchBlocklyValue(validation: any, event: any): boolean; _validate(validation: any, e: any): boolean; } export default BlocklyChallenge;