No Blockly, as interfaces descrevem as funções que um objeto precisa implementar para substituir o objeto padrão.
Não é necessário herdar de uma classe específica para implementar a interface. Você pode fazer o que quiser internamente, desde que forneça as funções corretas e siga todos os requisitos descritos nos comentários na interface. No entanto, um padrão comum para plug-ins é estender a classe padrão e modificar apenas as funções que você quer mudar.
Para indicar ao verificador de tipos que você implementa uma interface específica,
anote a classe com @implements {InterfaceName}
.
As interfaces do Blockly são definidas em core/interfaces.