//
// Copyright (C) 2018 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/server/animationadapter.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 { PointProto } from "../graphics/point_pb";
import { file_protos_perfetto_trace_android_graphics_point } from "../graphics/point_pb";
import type { RemoteAnimationTargetProto } from "../view/remote_animation_target_pb";
import { file_protos_perfetto_trace_android_view_remote_animation_target } from "../view/remote_animation_target_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/trace/android/server/animationadapter.proto.
 */
export const file_protos_perfetto_trace_android_server_animationadapter: GenFile = /*@__PURE__*/
  fileDesc("Cjtwcm90b3MvcGVyZmV0dG8vdHJhY2UvYW5kcm9pZC9zZXJ2ZXIvYW5pbWF0aW9uYWRhcHRlci5wcm90bxIPcGVyZmV0dG8ucHJvdG9zIpgBChVBbmltYXRpb25BZGFwdGVyUHJvdG8SOgoFbG9jYWwYASABKAsyKy5wZXJmZXR0by5wcm90b3MuTG9jYWxBbmltYXRpb25BZGFwdGVyUHJvdG8SQwoGcmVtb3RlGAIgASgLMjMucGVyZmV0dG8ucHJvdG9zLlJlbW90ZUFuaW1hdGlvbkFkYXB0ZXJXcmFwcGVyUHJvdG8iYQoiUmVtb3RlQW5pbWF0aW9uQWRhcHRlcldyYXBwZXJQcm90bxI7CgZ0YXJnZXQYASABKAsyKy5wZXJmZXR0by5wcm90b3MuUmVtb3RlQW5pbWF0aW9uVGFyZ2V0UHJvdG8iWQoaTG9jYWxBbmltYXRpb25BZGFwdGVyUHJvdG8SOwoOYW5pbWF0aW9uX3NwZWMYASABKAsyIy5wZXJmZXR0by5wcm90b3MuQW5pbWF0aW9uU3BlY1Byb3RvIvwBChJBbmltYXRpb25TcGVjUHJvdG8SOQoGd2luZG93GAEgASgLMikucGVyZmV0dG8ucHJvdG9zLldpbmRvd0FuaW1hdGlvblNwZWNQcm90bxI1CgRtb3ZlGAIgASgLMicucGVyZmV0dG8ucHJvdG9zLk1vdmVBbmltYXRpb25TcGVjUHJvdG8SNwoFYWxwaGEYAyABKAsyKC5wZXJmZXR0by5wcm90b3MuQWxwaGFBbmltYXRpb25TcGVjUHJvdG8SOwoGcm90YXRlGAQgASgLMisucGVyZmV0dG8ucHJvdG9zLlJvdGF0aW9uQW5pbWF0aW9uU3BlY1Byb3RvIi0KGFdpbmRvd0FuaW1hdGlvblNwZWNQcm90bxIRCglhbmltYXRpb24YASABKAkigQEKFk1vdmVBbmltYXRpb25TcGVjUHJvdG8SKQoEZnJvbRgBIAEoCzIbLnBlcmZldHRvLnByb3Rvcy5Qb2ludFByb3RvEicKAnRvGAIgASgLMhsucGVyZmV0dG8ucHJvdG9zLlBvaW50UHJvdG8SEwoLZHVyYXRpb25fbXMYAyABKAMiSAoXQWxwaGFBbmltYXRpb25TcGVjUHJvdG8SDAoEZnJvbRgBIAEoAhIKCgJ0bxgCIAEoAhITCgtkdXJhdGlvbl9tcxgDIAEoAyJXChpSb3RhdGlvbkFuaW1hdGlvblNwZWNQcm90bxISCgpzdGFydF9sdW1hGAEgASgCEhAKCGVuZF9sdW1hGAIgASgCEhMKC2R1cmF0aW9uX21zGAMgASgD", [file_protos_perfetto_trace_android_graphics_point, file_protos_perfetto_trace_android_view_remote_animation_target]);

/**
 * @generated from message perfetto.protos.AnimationAdapterProto
 */
export type AnimationAdapterProto = Message<"perfetto.protos.AnimationAdapterProto"> & {
  /**
   * @generated from field: optional perfetto.protos.LocalAnimationAdapterProto local = 1;
   */
  local?: LocalAnimationAdapterProto;

  /**
   * @generated from field: optional perfetto.protos.RemoteAnimationAdapterWrapperProto remote = 2;
   */
  remote?: RemoteAnimationAdapterWrapperProto;
};

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

/**
 * represents RemoteAnimationAdapterWrapper
 *
 * @generated from message perfetto.protos.RemoteAnimationAdapterWrapperProto
 */
export type RemoteAnimationAdapterWrapperProto = Message<"perfetto.protos.RemoteAnimationAdapterWrapperProto"> & {
  /**
   * @generated from field: optional perfetto.protos.RemoteAnimationTargetProto target = 1;
   */
  target?: RemoteAnimationTargetProto;
};

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

/**
 * represents LocalAnimationAdapter
 *
 * @generated from message perfetto.protos.LocalAnimationAdapterProto
 */
export type LocalAnimationAdapterProto = Message<"perfetto.protos.LocalAnimationAdapterProto"> & {
  /**
   * @generated from field: optional perfetto.protos.AnimationSpecProto animation_spec = 1;
   */
  animationSpec?: AnimationSpecProto;
};

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

/**
 * @generated from message perfetto.protos.AnimationSpecProto
 */
export type AnimationSpecProto = Message<"perfetto.protos.AnimationSpecProto"> & {
  /**
   * @generated from field: optional perfetto.protos.WindowAnimationSpecProto window = 1;
   */
  window?: WindowAnimationSpecProto;

  /**
   * @generated from field: optional perfetto.protos.MoveAnimationSpecProto move = 2;
   */
  move?: MoveAnimationSpecProto;

  /**
   * @generated from field: optional perfetto.protos.AlphaAnimationSpecProto alpha = 3;
   */
  alpha?: AlphaAnimationSpecProto;

  /**
   * @generated from field: optional perfetto.protos.RotationAnimationSpecProto rotate = 4;
   */
  rotate?: RotationAnimationSpecProto;
};

/**
 * Describes the message perfetto.protos.AnimationSpecProto.
 * Use `create(AnimationSpecProtoSchema)` to create a new message.
 */
export const AnimationSpecProtoSchema: GenMessage<AnimationSpecProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_animationadapter, 3);

/**
 * represents WindowAnimationSpec
 *
 * @generated from message perfetto.protos.WindowAnimationSpecProto
 */
export type WindowAnimationSpecProto = Message<"perfetto.protos.WindowAnimationSpecProto"> & {
  /**
   * @generated from field: optional string animation = 1;
   */
  animation: string;
};

/**
 * Describes the message perfetto.protos.WindowAnimationSpecProto.
 * Use `create(WindowAnimationSpecProtoSchema)` to create a new message.
 */
export const WindowAnimationSpecProtoSchema: GenMessage<WindowAnimationSpecProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_animationadapter, 4);

/**
 * represents MoveAnimationSpec
 *
 * @generated from message perfetto.protos.MoveAnimationSpecProto
 */
export type MoveAnimationSpecProto = Message<"perfetto.protos.MoveAnimationSpecProto"> & {
  /**
   * @generated from field: optional perfetto.protos.PointProto from = 1;
   */
  from?: PointProto;

  /**
   * @generated from field: optional perfetto.protos.PointProto to = 2;
   */
  to?: PointProto;

  /**
   * @generated from field: optional int64 duration_ms = 3;
   */
  durationMs: bigint;
};

/**
 * Describes the message perfetto.protos.MoveAnimationSpecProto.
 * Use `create(MoveAnimationSpecProtoSchema)` to create a new message.
 */
export const MoveAnimationSpecProtoSchema: GenMessage<MoveAnimationSpecProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_animationadapter, 5);

/**
 * represents AlphaAnimationSpec
 *
 * @generated from message perfetto.protos.AlphaAnimationSpecProto
 */
export type AlphaAnimationSpecProto = Message<"perfetto.protos.AlphaAnimationSpecProto"> & {
  /**
   * @generated from field: optional float from = 1;
   */
  from: number;

  /**
   * @generated from field: optional float to = 2;
   */
  to: number;

  /**
   * @generated from field: optional int64 duration_ms = 3;
   */
  durationMs: bigint;
};

/**
 * Describes the message perfetto.protos.AlphaAnimationSpecProto.
 * Use `create(AlphaAnimationSpecProtoSchema)` to create a new message.
 */
export const AlphaAnimationSpecProtoSchema: GenMessage<AlphaAnimationSpecProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_animationadapter, 6);

/**
 * represents RotationAnimationSpec
 *
 * @generated from message perfetto.protos.RotationAnimationSpecProto
 */
export type RotationAnimationSpecProto = Message<"perfetto.protos.RotationAnimationSpecProto"> & {
  /**
   * @generated from field: optional float start_luma = 1;
   */
  startLuma: number;

  /**
   * @generated from field: optional float end_luma = 2;
   */
  endLuma: number;

  /**
   * @generated from field: optional int64 duration_ms = 3;
   */
  durationMs: bigint;
};

/**
 * Describes the message perfetto.protos.RotationAnimationSpecProto.
 * Use `create(RotationAnimationSpecProtoSchema)` to create a new message.
 */
export const RotationAnimationSpecProtoSchema: GenMessage<RotationAnimationSpecProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_animationadapter, 7);

