import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/perfetto/trace/track_event/chrome_mojo_event_info.proto.
 */
export declare const file_protos_perfetto_trace_track_event_chrome_mojo_event_info: GenFile;
/**
 * Contains information to identify mojo handling events. The trace events in
 * mojo are common for all mojo interfaces and this information is used to
 * identify who is the caller or callee.
 *
 * @generated from message perfetto.protos.ChromeMojoEventInfo
 */
export type ChromeMojoEventInfo = Message<"perfetto.protos.ChromeMojoEventInfo"> & {
    /**
     * Contains the interface name or the file name of the creator of a mojo
     * handle watcher, recorded when an event if notified to the watcher. The code
     * that runs within the track event belongs to the interface.
     *
     * @generated from field: optional string watcher_notify_interface_tag = 1;
     */
    watcherNotifyInterfaceTag: string;
    /**
     * The hash of the IPC message that is being handled.
     *
     * @generated from field: optional uint32 ipc_hash = 2;
     */
    ipcHash: number;
    /**
     * A static string representing the mojo interface name of the message that is
     * being handled.
     *
     * @generated from field: optional string mojo_interface_tag = 3;
     */
    mojoInterfaceTag: string;
    /**
     * Refers to an interned UnsymbolizedSourceLocation.
     * The UnsymbolizedSourceLocation contains the interface method that's being
     * handled, represented as a native symbol.
     * The native symbol can be symbolized after the trace is recorded.
     * Not using a symbolized source location for official Chromium builds to
     * reduce binary size - emitting file/function names as strings into the
     * trace requires storing them in the binary, which causes a significant
     * binary size bloat for Chromium.
     *
     * @generated from field: optional uint64 mojo_interface_method_iid = 4;
     */
    mojoInterfaceMethodIid: bigint;
    /**
     * Indicate whether this is a message or reply.
     *
     * @generated from field: optional bool is_reply = 5;
     */
    isReply: boolean;
    /**
     * The payload size of the message being sent through mojo messages.
     *
     * @generated from field: optional uint64 payload_size = 6;
     */
    payloadSize: bigint;
    /**
     * Represents the size of the message. Includes all headers and user payload.
     *
     * @generated from field: optional uint64 data_num_bytes = 7;
     */
    dataNumBytes: bigint;
};
/**
 * Describes the message perfetto.protos.ChromeMojoEventInfo.
 * Use `create(ChromeMojoEventInfoSchema)` to create a new message.
 */
export declare const ChromeMojoEventInfoSchema: GenMessage<ChromeMojoEventInfo>;
//# sourceMappingURL=chrome_mojo_event_info_pb.d.ts.map