// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://github.com/WICG/handwriting-recognition/blob/main/explainer.md

[
  SecureContext,
  RuntimeEnabled=HandwritingRecognition
] interface HandwritingDrawing {
  void addStroke(HandwritingStroke stroke);
  void removeStroke(HandwritingStroke stroke);
  void clear();
  sequence<HandwritingStroke> getStrokes();

  [CallWith=ScriptState]
  Promise<sequence<HandwritingPrediction>> getPrediction();
};
