//
// Copyright (C) 2024 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
// @generated from file protos/perfetto/trace/android/inputmethodeditor.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { InputMethodServiceProto } from "./inputmethodservice/inputmethodservice_pb";
import { file_protos_perfetto_trace_android_inputmethodservice_inputmethodservice } from "./inputmethodservice/inputmethodservice_pb";
import type { InputMethodManagerServiceProto } from "./server/inputmethod/inputmethodmanagerservice_pb";
import { file_protos_perfetto_trace_android_server_inputmethod_inputmethodmanagerservice } from "./server/inputmethod/inputmethodmanagerservice_pb";
import type { InputMethodManagerProto } from "./view/inputmethod/inputmethodmanager_pb";
import { file_protos_perfetto_trace_android_view_inputmethod_inputmethodmanager } from "./view/inputmethod/inputmethodmanager_pb";
import type { ViewRootImplProto } from "./view/viewrootimpl_pb";
import { file_protos_perfetto_trace_android_view_viewrootimpl } from "./view/viewrootimpl_pb";
import type { InsetsControllerProto } from "./view/insetscontroller_pb";
import { file_protos_perfetto_trace_android_view_insetscontroller } from "./view/insetscontroller_pb";
import type { ImeInsetsSourceConsumerProto } from "./view/imeinsetssourceconsumer_pb";
import { file_protos_perfetto_trace_android_view_imeinsetssourceconsumer } from "./view/imeinsetssourceconsumer_pb";
import type { EditorInfoProto } from "./view/inputmethod/editorinfo_pb";
import { file_protos_perfetto_trace_android_view_inputmethod_editorinfo } from "./view/inputmethod/editorinfo_pb";
import type { InputConnectionCallProto, InputConnectionProto } from "./view/inputmethod/inputconnection_pb";
import { file_protos_perfetto_trace_android_view_inputmethod_inputconnection } from "./view/inputmethod/inputconnection_pb";
import type { ImeFocusControllerProto } from "./view/imefocuscontroller_pb";
import { file_protos_perfetto_trace_android_view_imefocuscontroller } from "./view/imefocuscontroller_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/trace/android/inputmethodeditor.proto.
 */
export const file_protos_perfetto_trace_android_inputmethodeditor: GenFile = /*@__PURE__*/
  fileDesc("CjVwcm90b3MvcGVyZmV0dG8vdHJhY2UvYW5kcm9pZC9pbnB1dG1ldGhvZGVkaXRvci5wcm90bxIPcGVyZmV0dG8ucHJvdG9zIugFChxJbnB1dE1ldGhvZENsaWVudHNUcmFjZVByb3RvEh4KFmVsYXBzZWRfcmVhbHRpbWVfbmFub3MYASABKAYSDQoFd2hlcmUYAiABKAkSTQoGY2xpZW50GAMgASgLMj0ucGVyZmV0dG8ucHJvdG9zLklucHV0TWV0aG9kQ2xpZW50c1RyYWNlUHJvdG8uQ2xpZW50U2lkZVByb3RvGskECg9DbGllbnRTaWRlUHJvdG8SEgoKZGlzcGxheV9pZBgBIAEoBRJGChRpbnB1dF9tZXRob2RfbWFuYWdlchgCIAEoCzIoLnBlcmZldHRvLnByb3Rvcy5JbnB1dE1ldGhvZE1hbmFnZXJQcm90bxI6Cg52aWV3X3Jvb3RfaW1wbBgDIAEoCzIiLnBlcmZldHRvLnByb3Rvcy5WaWV3Um9vdEltcGxQcm90bxJBChFpbnNldHNfY29udHJvbGxlchgEIAEoCzImLnBlcmZldHRvLnByb3Rvcy5JbnNldHNDb250cm9sbGVyUHJvdG8SUQoaaW1lX2luc2V0c19zb3VyY2VfY29uc3VtZXIYBSABKAsyLS5wZXJmZXR0by5wcm90b3MuSW1lSW5zZXRzU291cmNlQ29uc3VtZXJQcm90bxI1CgtlZGl0b3JfaW5mbxgGIAEoCzIgLnBlcmZldHRvLnByb3Rvcy5FZGl0b3JJbmZvUHJvdG8SRgoUaW1lX2ZvY3VzX2NvbnRyb2xsZXIYByABKAsyKC5wZXJmZXR0by5wcm90b3MuSW1lRm9jdXNDb250cm9sbGVyUHJvdG8SPwoQaW5wdXRfY29ubmVjdGlvbhgIIAEoCzIlLnBlcmZldHRvLnByb3Rvcy5JbnB1dENvbm5lY3Rpb25Qcm90bxJIChVpbnB1dF9jb25uZWN0aW9uX2NhbGwYCSABKAsyKS5wZXJmZXR0by5wcm90b3MuSW5wdXRDb25uZWN0aW9uQ2FsbFByb3RvIpUBChxJbnB1dE1ldGhvZFNlcnZpY2VUcmFjZVByb3RvEh4KFmVsYXBzZWRfcmVhbHRpbWVfbmFub3MYASABKAYSDQoFd2hlcmUYAiABKAkSRgoUaW5wdXRfbWV0aG9kX3NlcnZpY2UYAyABKAsyKC5wZXJmZXR0by5wcm90b3MuSW5wdXRNZXRob2RTZXJ2aWNlUHJvdG8iqwEKI0lucHV0TWV0aG9kTWFuYWdlclNlcnZpY2VUcmFjZVByb3RvEh4KFmVsYXBzZWRfcmVhbHRpbWVfbmFub3MYASABKAYSDQoFd2hlcmUYAiABKAkSVQocaW5wdXRfbWV0aG9kX21hbmFnZXJfc2VydmljZRgDIAEoCzIvLnBlcmZldHRvLnByb3Rvcy5JbnB1dE1ldGhvZE1hbmFnZXJTZXJ2aWNlUHJvdG8", [file_protos_perfetto_trace_android_inputmethodservice_inputmethodservice, file_protos_perfetto_trace_android_server_inputmethod_inputmethodmanagerservice, file_protos_perfetto_trace_android_view_inputmethod_inputmethodmanager, file_protos_perfetto_trace_android_view_viewrootimpl, file_protos_perfetto_trace_android_view_insetscontroller, file_protos_perfetto_trace_android_view_imeinsetssourceconsumer, file_protos_perfetto_trace_android_view_inputmethod_editorinfo, file_protos_perfetto_trace_android_view_inputmethod_inputconnection, file_protos_perfetto_trace_android_view_imefocuscontroller]);

/**
 * One dump entry for clients that use InputMethod
 *
 * @generated from message perfetto.protos.InputMethodClientsTraceProto
 */
export type InputMethodClientsTraceProto = Message<"perfetto.protos.InputMethodClientsTraceProto"> & {
  /**
   * elapsed realtime in nanos since boot of when this entry was logged
   *
   * @generated from field: optional fixed64 elapsed_realtime_nanos = 1;
   */
  elapsedRealtimeNanos: bigint;

  /**
   * where the trace originated
   *
   * @generated from field: optional string where = 2;
   */
  where: string;

  /**
   * @generated from field: optional perfetto.protos.InputMethodClientsTraceProto.ClientSideProto client = 3;
   */
  client?: InputMethodClientsTraceProto_ClientSideProto;
};

/**
 * Describes the message perfetto.protos.InputMethodClientsTraceProto.
 * Use `create(InputMethodClientsTraceProtoSchema)` to create a new message.
 */
export const InputMethodClientsTraceProtoSchema: GenMessage<InputMethodClientsTraceProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_inputmethodeditor, 0);

/**
 * groups together the dump from ime related client side classes
 *
 * @generated from message perfetto.protos.InputMethodClientsTraceProto.ClientSideProto
 */
export type InputMethodClientsTraceProto_ClientSideProto = Message<"perfetto.protos.InputMethodClientsTraceProto.ClientSideProto"> & {
  /**
   * @generated from field: optional int32 display_id = 1;
   */
  displayId: number;

  /**
   * @generated from field: optional perfetto.protos.InputMethodManagerProto input_method_manager = 2;
   */
  inputMethodManager?: InputMethodManagerProto;

  /**
   * @generated from field: optional perfetto.protos.ViewRootImplProto view_root_impl = 3;
   */
  viewRootImpl?: ViewRootImplProto;

  /**
   * @generated from field: optional perfetto.protos.InsetsControllerProto insets_controller = 4;
   */
  insetsController?: InsetsControllerProto;

  /**
   * @generated from field: optional perfetto.protos.ImeInsetsSourceConsumerProto ime_insets_source_consumer = 5;
   */
  imeInsetsSourceConsumer?: ImeInsetsSourceConsumerProto;

  /**
   * @generated from field: optional perfetto.protos.EditorInfoProto editor_info = 6;
   */
  editorInfo?: EditorInfoProto;

  /**
   * @generated from field: optional perfetto.protos.ImeFocusControllerProto ime_focus_controller = 7;
   */
  imeFocusController?: ImeFocusControllerProto;

  /**
   * @generated from field: optional perfetto.protos.InputConnectionProto input_connection = 8;
   */
  inputConnection?: InputConnectionProto;

  /**
   * @generated from field: optional perfetto.protos.InputConnectionCallProto input_connection_call = 9;
   */
  inputConnectionCall?: InputConnectionCallProto;
};

/**
 * Describes the message perfetto.protos.InputMethodClientsTraceProto.ClientSideProto.
 * Use `create(InputMethodClientsTraceProto_ClientSideProtoSchema)` to create a new message.
 */
export const InputMethodClientsTraceProto_ClientSideProtoSchema: GenMessage<InputMethodClientsTraceProto_ClientSideProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_inputmethodeditor, 0, 0);

/**
 * One dump entry for InputMethodService
 *
 * @generated from message perfetto.protos.InputMethodServiceTraceProto
 */
export type InputMethodServiceTraceProto = Message<"perfetto.protos.InputMethodServiceTraceProto"> & {
  /**
   * elapsed realtime in nanos since boot of when this entry was logged
   *
   * @generated from field: optional fixed64 elapsed_realtime_nanos = 1;
   */
  elapsedRealtimeNanos: bigint;

  /**
   * where the trace originated
   *
   * @generated from field: optional string where = 2;
   */
  where: string;

  /**
   * @generated from field: optional perfetto.protos.InputMethodServiceProto input_method_service = 3;
   */
  inputMethodService?: InputMethodServiceProto;
};

/**
 * Describes the message perfetto.protos.InputMethodServiceTraceProto.
 * Use `create(InputMethodServiceTraceProtoSchema)` to create a new message.
 */
export const InputMethodServiceTraceProtoSchema: GenMessage<InputMethodServiceTraceProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_inputmethodeditor, 1);

/**
 * One dump entry for InputMethodManagerService
 *
 * @generated from message perfetto.protos.InputMethodManagerServiceTraceProto
 */
export type InputMethodManagerServiceTraceProto = Message<"perfetto.protos.InputMethodManagerServiceTraceProto"> & {
  /**
   * elapsed realtime in nanos since boot of when this entry was logged
   *
   * @generated from field: optional fixed64 elapsed_realtime_nanos = 1;
   */
  elapsedRealtimeNanos: bigint;

  /**
   * where the trace originated
   *
   * @generated from field: optional string where = 2;
   */
  where: string;

  /**
   * @generated from field: optional perfetto.protos.InputMethodManagerServiceProto input_method_manager_service = 3;
   */
  inputMethodManagerService?: InputMethodManagerServiceProto;
};

/**
 * Describes the message perfetto.protos.InputMethodManagerServiceTraceProto.
 * Use `create(InputMethodManagerServiceTraceProtoSchema)` to create a new message.
 */
export const InputMethodManagerServiceTraceProtoSchema: GenMessage<InputMethodManagerServiceTraceProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_inputmethodeditor, 2);

