import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/perfetto/trace/gpu/vulkan_api_event.proto.
 */
export declare const file_protos_perfetto_trace_gpu_vulkan_api_event: GenFile;
/**
 * Message for recording the Vulkan call.
 *
 * @generated from message perfetto.protos.VulkanApiEvent
 */
export type VulkanApiEvent = Message<"perfetto.protos.VulkanApiEvent"> & {
    /**
     * @generated from oneof perfetto.protos.VulkanApiEvent.event
     */
    event: {
        /**
         * @generated from field: perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectName vk_debug_utils_object_name = 1;
         */
        value: VulkanApiEvent_VkDebugUtilsObjectName;
        case: "vkDebugUtilsObjectName";
    } | {
        /**
         * @generated from field: perfetto.protos.VulkanApiEvent.VkQueueSubmit vk_queue_submit = 2;
         */
        value: VulkanApiEvent_VkQueueSubmit;
        case: "vkQueueSubmit";
    } | {
        case: undefined;
        value?: undefined;
    };
};
/**
 * Describes the message perfetto.protos.VulkanApiEvent.
 * Use `create(VulkanApiEventSchema)` to create a new message.
 */
export declare const VulkanApiEventSchema: GenMessage<VulkanApiEvent>;
/**
 * For recording vkSetDebugUtilsObjectNameEXT and
 * vkDebugMarkerSetObjectNameEXT
 *
 * @generated from message perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectName
 */
export type VulkanApiEvent_VkDebugUtilsObjectName = Message<"perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectName"> & {
    /**
     * @generated from field: optional uint32 pid = 1;
     */
    pid: number;
    /**
     * @generated from field: optional uint64 vk_device = 2;
     */
    vkDevice: bigint;
    /**
     * VkObjectType.  Value must match
     * https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkObjectType.html.
     *
     * @generated from field: optional int32 object_type = 3;
     */
    objectType: number;
    /**
     * @generated from field: optional uint64 object = 4;
     */
    object: bigint;
    /**
     * @generated from field: optional string object_name = 5;
     */
    objectName: string;
};
/**
 * Describes the message perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectName.
 * Use `create(VulkanApiEvent_VkDebugUtilsObjectNameSchema)` to create a new message.
 */
export declare const VulkanApiEvent_VkDebugUtilsObjectNameSchema: GenMessage<VulkanApiEvent_VkDebugUtilsObjectName>;
/**
 * For recording vkQueueSubmit call.
 *
 * @generated from message perfetto.protos.VulkanApiEvent.VkQueueSubmit
 */
export type VulkanApiEvent_VkQueueSubmit = Message<"perfetto.protos.VulkanApiEvent.VkQueueSubmit"> & {
    /**
     * @generated from field: optional uint64 duration_ns = 1;
     */
    durationNs: bigint;
    /**
     * @generated from field: optional uint32 pid = 2;
     */
    pid: number;
    /**
     * @generated from field: optional uint32 tid = 3;
     */
    tid: number;
    /**
     * @generated from field: optional uint64 vk_queue = 4;
     */
    vkQueue: bigint;
    /**
     * @generated from field: repeated uint64 vk_command_buffers = 5;
     */
    vkCommandBuffers: bigint[];
    /**
     * Submission ID.  An identifier unique to each vkQueueSubmit call.  This
     * submission_id must match GpuRenderStageEvent.submission_id if the
     * GpuRenderStageEvent is created due to this vkQueueSubmit.
     *
     * @generated from field: optional uint32 submission_id = 6;
     */
    submissionId: number;
};
/**
 * Describes the message perfetto.protos.VulkanApiEvent.VkQueueSubmit.
 * Use `create(VulkanApiEvent_VkQueueSubmitSchema)` to create a new message.
 */
export declare const VulkanApiEvent_VkQueueSubmitSchema: GenMessage<VulkanApiEvent_VkQueueSubmit>;
//# sourceMappingURL=vulkan_api_event_pb.d.ts.map