// Copyright 2015 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.

[DartPackage="mojo_services"]
module prediction;

struct Settings {
  bool correction_enabled;
  bool block_potentially_offensive;
  bool space_aware_gesture_enabled;
};

struct PredictionInfo {
  array<string> previous_words;
  string current_word;
};

interface PredictionService {
  SetSettings(Settings settings);

  GetPredictionList(PredictionInfo prediction_info) => (array<string>? prediction_list);
};
