import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/perfetto/trace/android/android_input_event.proto.
 */
export declare const file_protos_perfetto_trace_android_android_input_event: GenFile;
/**
 * A representation of an Android MotionEvent.
 * See: https://developer.android.com/reference/android/view/MotionEvent
 *
 * The timestamp of the TracePacket that contains this event corresponds to the time at which
 * this event was processed by InputDispatcher.
 *
 * @generated from message perfetto.protos.AndroidMotionEvent
 */
export type AndroidMotionEvent = Message<"perfetto.protos.AndroidMotionEvent"> & {
    /**
     * The randomly-generated ID used to track the event through the pipeline.
     *
     * @generated from field: optional fixed32 event_id = 1;
     */
    eventId: number;
    /**
     * The event's timestamp - generated by the kernel.
     *
     * @generated from field: optional int64 event_time_nanos = 2;
     */
    eventTimeNanos: bigint;
    /**
     * @generated from field: optional uint32 source = 3;
     */
    source: number;
    /**
     * @generated from field: optional int32 action = 4;
     */
    action: number;
    /**
     * @generated from field: optional int32 device_id = 5;
     */
    deviceId: number;
    /**
     * Use a signed int for display_id, because -1 (DISPLAY_IS_NONE) is a common value.
     *
     * @generated from field: optional sint32 display_id = 6;
     */
    displayId: number;
    /**
     * @generated from field: optional int32 classification = 7;
     */
    classification: number;
    /**
     * @generated from field: optional uint32 flags = 8;
     */
    flags: number;
    /**
     * @generated from field: repeated perfetto.protos.AndroidMotionEvent.Pointer pointer = 9;
     */
    pointer: AndroidMotionEvent_Pointer[];
    /**
     * If this event was synthesized as a result of one or more different
     * event, original_event_ids are the event_ids associated with the original events.
     * For example, if this is an ACTION_HOVER_ENTER event that is synthesized
     * due to an ACTION_HOVER_MOVE event entering the bounds of a window, the
     * id of the original hover move event will be listed here.
     *
     * @generated from field: repeated fixed32 original_event_id = 16 [packed = true];
     */
    originalEventId: number[];
    /**
     * The timestamp of the ACTION_DOWN event associated with this gesture.
     *
     * @generated from field: optional int64 down_time_nanos = 17;
     */
    downTimeNanos: bigint;
    /**
     * @generated from field: optional float cursor_position_x = 18;
     */
    cursorPositionX: number;
    /**
     * @generated from field: optional float cursor_position_y = 19;
     */
    cursorPositionY: number;
    /**
     * @generated from field: optional int32 action_button = 20;
     */
    actionButton: number;
    /**
     * @generated from field: optional uint32 button_state = 21;
     */
    buttonState: number;
    /**
     * @generated from field: optional uint32 meta_state = 22;
     */
    metaState: number;
    /**
     * @generated from field: optional uint32 policy_flags = 23;
     */
    policyFlags: number;
    /**
     * @generated from field: optional float precision_x = 24;
     */
    precisionX: number;
    /**
     * @generated from field: optional float precision_y = 25;
     */
    precisionY: number;
};
/**
 * Describes the message perfetto.protos.AndroidMotionEvent.
 * Use `create(AndroidMotionEventSchema)` to create a new message.
 */
export declare const AndroidMotionEventSchema: GenMessage<AndroidMotionEvent>;
/**
 * A representation of one pointer inside a MotionEvent.
 * Each Pointer contains the values present in its corresponding
 * MotionEvent.PointerCoords and MotionEvent.PointerProperties.
 *
 * @generated from message perfetto.protos.AndroidMotionEvent.Pointer
 */
export type AndroidMotionEvent_Pointer = Message<"perfetto.protos.AndroidMotionEvent.Pointer"> & {
    /**
     * @generated from field: repeated perfetto.protos.AndroidMotionEvent.Pointer.AxisValue axis_value = 1;
     */
    axisValue: AndroidMotionEvent_Pointer_AxisValue[];
    /**
     * @generated from field: optional int32 pointer_id = 2;
     */
    pointerId: number;
    /**
     * @generated from field: optional int32 tool_type = 3;
     */
    toolType: number;
};
/**
 * Describes the message perfetto.protos.AndroidMotionEvent.Pointer.
 * Use `create(AndroidMotionEvent_PointerSchema)` to create a new message.
 */
export declare const AndroidMotionEvent_PointerSchema: GenMessage<AndroidMotionEvent_Pointer>;
/**
 * @generated from message perfetto.protos.AndroidMotionEvent.Pointer.AxisValue
 */
export type AndroidMotionEvent_Pointer_AxisValue = Message<"perfetto.protos.AndroidMotionEvent.Pointer.AxisValue"> & {
    /**
     * @generated from field: optional int32 axis = 1;
     */
    axis: number;
    /**
     * @generated from field: optional float value = 2;
     */
    value: number;
};
/**
 * Describes the message perfetto.protos.AndroidMotionEvent.Pointer.AxisValue.
 * Use `create(AndroidMotionEvent_Pointer_AxisValueSchema)` to create a new message.
 */
export declare const AndroidMotionEvent_Pointer_AxisValueSchema: GenMessage<AndroidMotionEvent_Pointer_AxisValue>;
/**
 * A representation of an Android KeyEvent.
 * See: https://developer.android.com/reference/android/view/KeyEvent
 *
 * The timestamp of the TracePacket that contains this event corresponds to the time at which
 * this event was processed by InputDispatcher.
 *
 * @generated from message perfetto.protos.AndroidKeyEvent
 */
export type AndroidKeyEvent = Message<"perfetto.protos.AndroidKeyEvent"> & {
    /**
     * The randomly-generated ID used to track the event through the pipeline.
     *
     * @generated from field: optional fixed32 event_id = 1;
     */
    eventId: number;
    /**
     * The event's timestamp - generated by the kernel.
     *
     * @generated from field: optional int64 event_time_nanos = 2;
     */
    eventTimeNanos: bigint;
    /**
     * The timestamp of the ACTION_DOWN event associated with this gesture.
     *
     * @generated from field: optional int64 down_time_nanos = 3;
     */
    downTimeNanos: bigint;
    /**
     * @generated from field: optional uint32 source = 4;
     */
    source: number;
    /**
     * @generated from field: optional int32 action = 5;
     */
    action: number;
    /**
     * @generated from field: optional int32 device_id = 6;
     */
    deviceId: number;
    /**
     * Use a signed int for display_id, because -1 (DISPLAY_IS_NONE) is a common value.
     *
     * @generated from field: optional sint32 display_id = 7;
     */
    displayId: number;
    /**
     * @generated from field: optional int32 key_code = 8;
     */
    keyCode: number;
    /**
     * @generated from field: optional uint32 scan_code = 9;
     */
    scanCode: number;
    /**
     * @generated from field: optional uint32 meta_state = 10;
     */
    metaState: number;
    /**
     * @generated from field: optional int32 repeat_count = 11;
     */
    repeatCount: number;
    /**
     * @generated from field: optional uint32 flags = 12;
     */
    flags: number;
    /**
     * @generated from field: optional uint32 policy_flags = 13;
     */
    policyFlags: number;
};
/**
 * Describes the message perfetto.protos.AndroidKeyEvent.
 * Use `create(AndroidKeyEventSchema)` to create a new message.
 */
export declare const AndroidKeyEventSchema: GenMessage<AndroidKeyEvent>;
/**
 * An event that traces an input event being dispatched by the system to one window.
 *
 * The timestamp of the TracePacket that contains this event corresponds to the time at which
 * this event was dispatched to the target window by InputDispatcher, also known as "delivery time".
 *
 * @generated from message perfetto.protos.AndroidWindowInputDispatchEvent
 */
export type AndroidWindowInputDispatchEvent = Message<"perfetto.protos.AndroidWindowInputDispatchEvent"> & {
    /**
     * The event_id of the event that was dispatched to the window.
     *
     * @generated from field: optional fixed32 event_id = 1;
     */
    eventId: number;
    /**
     * The vsync_id of the frame in which the decision was made to dispatch the event to
     * the window.
     *
     * @generated from field: optional int64 vsync_id = 2;
     */
    vsyncId: bigint;
    /**
     * The id of the window to which the event was dispatched.
     *
     * @generated from field: optional int32 window_id = 3;
     */
    windowId: number;
    /**
     * Only relevant for MotionEvents that are dispatched to a screen location.
     * Each DispatchedPointer has a 1:1 correspondence with the Pointers in the AndroidMotionEvent.
     *
     * @generated from field: repeated perfetto.protos.AndroidWindowInputDispatchEvent.DispatchedPointer dispatched_pointer = 4;
     */
    dispatchedPointer: AndroidWindowInputDispatchEvent_DispatchedPointer[];
    /**
     * The event flags that were used when dispatching the event to this window.
     * If the same event is dispatched to more than one window, it is possible that they
     * were dispatched using different flag values for each window.
     *
     * @generated from field: optional uint32 resolved_flags = 5;
     */
    resolvedFlags: number;
};
/**
 * Describes the message perfetto.protos.AndroidWindowInputDispatchEvent.
 * Use `create(AndroidWindowInputDispatchEventSchema)` to create a new message.
 */
export declare const AndroidWindowInputDispatchEventSchema: GenMessage<AndroidWindowInputDispatchEvent>;
/**
 * Stores x/y values for each pointer sent to the window for events
 * that are dispatched to a certain location on the screen. This is not relevant
 * for KeyEvents and MotionEvents that are dispatched to focused windows.
 *
 * @generated from message perfetto.protos.AndroidWindowInputDispatchEvent.DispatchedPointer
 */
export type AndroidWindowInputDispatchEvent_DispatchedPointer = Message<"perfetto.protos.AndroidWindowInputDispatchEvent.DispatchedPointer"> & {
    /**
     * @generated from field: optional int32 pointer_id = 1;
     */
    pointerId: number;
    /**
     * The coordinates of the pointer in the logical display space, AKA "raw coordinates".
     *
     * @generated from field: optional float x_in_display = 2;
     */
    xInDisplay: number;
    /**
     * @generated from field: optional float y_in_display = 3;
     */
    yInDisplay: number;
    /**
     * The axis values for this pointer that were modified by the window transform.
     *
     * @generated from field: repeated perfetto.protos.AndroidMotionEvent.Pointer.AxisValue axis_value_in_window = 4;
     */
    axisValueInWindow: AndroidMotionEvent_Pointer_AxisValue[];
};
/**
 * Describes the message perfetto.protos.AndroidWindowInputDispatchEvent.DispatchedPointer.
 * Use `create(AndroidWindowInputDispatchEvent_DispatchedPointerSchema)` to create a new message.
 */
export declare const AndroidWindowInputDispatchEvent_DispatchedPointerSchema: GenMessage<AndroidWindowInputDispatchEvent_DispatchedPointer>;
/**
 * A wrapper type for input tracing on Android.
 * The meaning of the timestamp of the TracePacket that contains this message will depend on
 * the event that this message contains.
 *
 * @generated from message perfetto.protos.AndroidInputEvent
 */
export type AndroidInputEvent = Message<"perfetto.protos.AndroidInputEvent"> & {
    /**
     * @generated from oneof perfetto.protos.AndroidInputEvent.event
     */
    event: {
        /**
         * Traces input events received by or generated by InputDispatcher
         *
         * @generated from field: perfetto.protos.AndroidMotionEvent dispatcher_motion_event = 1;
         */
        value: AndroidMotionEvent;
        case: "dispatcherMotionEvent";
    } | {
        /**
         * @generated from field: perfetto.protos.AndroidMotionEvent dispatcher_motion_event_redacted = 2;
         */
        value: AndroidMotionEvent;
        case: "dispatcherMotionEventRedacted";
    } | {
        /**
         * @generated from field: perfetto.protos.AndroidKeyEvent dispatcher_key_event = 3;
         */
        value: AndroidKeyEvent;
        case: "dispatcherKeyEvent";
    } | {
        /**
         * @generated from field: perfetto.protos.AndroidKeyEvent dispatcher_key_event_redacted = 4;
         */
        value: AndroidKeyEvent;
        case: "dispatcherKeyEventRedacted";
    } | {
        /**
         * Traces an event being dispatched to a window.
         *
         * @generated from field: perfetto.protos.AndroidWindowInputDispatchEvent dispatcher_window_dispatch_event = 5;
         */
        value: AndroidWindowInputDispatchEvent;
        case: "dispatcherWindowDispatchEvent";
    } | {
        /**
         * @generated from field: perfetto.protos.AndroidWindowInputDispatchEvent dispatcher_window_dispatch_event_redacted = 6;
         */
        value: AndroidWindowInputDispatchEvent;
        case: "dispatcherWindowDispatchEventRedacted";
    } | {
        case: undefined;
        value?: undefined;
    };
};
/**
 * Describes the message perfetto.protos.AndroidInputEvent.
 * Use `create(AndroidInputEventSchema)` to create a new message.
 */
export declare const AndroidInputEventSchema: GenMessage<AndroidInputEvent>;
//# sourceMappingURL=android_input_event_pb.d.ts.map