chromium/chromeos/ash/components/emoji/emoji_search.mojom

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

module emoji_search.mojom;

struct SearchResults {
  array<string> results;
};

// Interface to allow users to search for emoji whose metadata match a query
// string
interface EmojiSearch {
  // Lookup metadata to find emoji/symbol/emoticon matches for a given query.
  // language_codes refers to BCP48 identifiers for a language such as "en-US".
  // If no languages are supplied then loads all available languages.
  SearchEmoji(string query, array<string> language_codes)
      => (SearchResults emoji_results,
          SearchResults symbol_results,
          SearchResults emoticon_results);

  // language_code refers to a BCP48 identifier for a language such as "en-US".
  // Previously loaded emoji languages not in this list will be cleared.
  LoadEmojiLanguages(array<string> language_codes);
};