import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { NetworkPacketContext } from "../android/network_trace_pb";
import type { InternedV8Isolate, InternedV8JsFunction, InternedV8JsScript, InternedV8String, InternedV8WasmScript } from "../chrome/v8_pb";
import type { InternedGpuRenderStageSpecification, InternedGraphicsContext } from "../gpu/gpu_render_stage_event_pb";
import type { HistogramName } from "../track_event/chrome_histogram_sample_pb";
import type { DebugAnnotationName, DebugAnnotationValueTypeName } from "../track_event/debug_annotation_pb";
import type { LogMessageBody } from "../track_event/log_message_pb";
import type { EventCategory, EventName } from "../track_event/track_event_pb";
import type { SourceLocation, UnsymbolizedSourceLocation } from "../track_event/source_location_pb";
import type { Callstack, Frame, InternedString, Mapping, ProfiledFrameSymbols } from "../profiling/profile_common_pb";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/perfetto/trace/interned_data/interned_data.proto.
 */
export declare const file_protos_perfetto_trace_interned_data_interned_data: GenFile;
/**
 * Message that contains new entries for the interning indices of a packet
 * sequence.
 *
 * The writer will usually emit new entries in the same TracePacket that first
 * refers to them (since the last reset of interning state). They may also be
 * emitted proactively in advance of referring to them in later packets.
 *
 * Next reserved id: 8 (up to 15).
 * Next id: 42.
 *
 * TODO(eseckler): Replace iid fields inside interned messages with
 * map<iid, message> type fields in InternedData.
 *
 * @generated from message perfetto.protos.InternedData
 */
export type InternedData = Message<"perfetto.protos.InternedData"> & {
    /**
     * Each field's message type needs to specify an |iid| field, which is the ID
     * of the entry in the field's interning index. Each field constructs its own
     * index, thus interning IDs are scoped to the tracing session and field
     * (usually as a counter for efficient var-int encoding), and optionally to
     * the incremental state generation of the packet sequence.
     *
     * @generated from field: repeated perfetto.protos.EventCategory event_categories = 1;
     */
    eventCategories: EventCategory[];
    /**
     * @generated from field: repeated perfetto.protos.EventName event_names = 2;
     */
    eventNames: EventName[];
    /**
     * @generated from field: repeated perfetto.protos.DebugAnnotationName debug_annotation_names = 3;
     */
    debugAnnotationNames: DebugAnnotationName[];
    /**
     * @generated from field: repeated perfetto.protos.DebugAnnotationValueTypeName debug_annotation_value_type_names = 27;
     */
    debugAnnotationValueTypeNames: DebugAnnotationValueTypeName[];
    /**
     * @generated from field: repeated perfetto.protos.SourceLocation source_locations = 4;
     */
    sourceLocations: SourceLocation[];
    /**
     * @generated from field: repeated perfetto.protos.UnsymbolizedSourceLocation unsymbolized_source_locations = 28;
     */
    unsymbolizedSourceLocations: UnsymbolizedSourceLocation[];
    /**
     * @generated from field: repeated perfetto.protos.LogMessageBody log_message_body = 20;
     */
    logMessageBody: LogMessageBody[];
    /**
     * @generated from field: repeated perfetto.protos.HistogramName histogram_names = 25;
     */
    histogramNames: HistogramName[];
    /**
     * Build IDs of exectuable files.
     *
     * @generated from field: repeated perfetto.protos.InternedString build_ids = 16;
     */
    buildIds: InternedString[];
    /**
     * Paths to executable files.
     *
     * @generated from field: repeated perfetto.protos.InternedString mapping_paths = 17;
     */
    mappingPaths: InternedString[];
    /**
     * Paths to source files.
     *
     * @generated from field: repeated perfetto.protos.InternedString source_paths = 18;
     */
    sourcePaths: InternedString[];
    /**
     * Names of functions used in frames below.
     *
     * @generated from field: repeated perfetto.protos.InternedString function_names = 5;
     */
    functionNames: InternedString[];
    /**
     * Symbols that were added to this trace after the fact.
     *
     * @generated from field: repeated perfetto.protos.ProfiledFrameSymbols profiled_frame_symbols = 21;
     */
    profiledFrameSymbols: ProfiledFrameSymbols[];
    /**
     * Executable files mapped into processes.
     *
     * @generated from field: repeated perfetto.protos.Mapping mappings = 19;
     */
    mappings: Mapping[];
    /**
     * Frames of callstacks of a program.
     *
     * @generated from field: repeated perfetto.protos.Frame frames = 6;
     */
    frames: Frame[];
    /**
     * A callstack of a program.
     *
     * @generated from field: repeated perfetto.protos.Callstack callstacks = 7;
     */
    callstacks: Callstack[];
    /**
     * Additional Vulkan information sent in a VulkanMemoryEvent message
     *
     * @generated from field: repeated perfetto.protos.InternedString vulkan_memory_keys = 22;
     */
    vulkanMemoryKeys: InternedString[];
    /**
     * Graphics context of a render stage event.  This represent the GL
     * context for an OpenGl app or the VkDevice for a Vulkan app.
     *
     * @generated from field: repeated perfetto.protos.InternedGraphicsContext graphics_contexts = 23;
     */
    graphicsContexts: InternedGraphicsContext[];
    /**
     * Description of a GPU hardware queue or render stage.
     *
     * @generated from field: repeated perfetto.protos.InternedGpuRenderStageSpecification gpu_specifications = 24;
     */
    gpuSpecifications: InternedGpuRenderStageSpecification[];
    /**
     * This is set when FtraceConfig.symbolize_ksyms = true.
     * The id of each symbol the number that will be reported in ftrace events
     * like sched_block_reason.caller and is obtained from a monotonic counter.
     * The same symbol can have different indexes in different bundles.
     * This is is NOT the real address. This is to avoid disclosing KASLR through
     * traces.
     *
     * @generated from field: repeated perfetto.protos.InternedString kernel_symbols = 26;
     */
    kernelSymbols: InternedString[];
    /**
     * Interned string values in the DebugAnnotation proto.
     *
     * @generated from field: repeated perfetto.protos.InternedString debug_annotation_string_values = 29;
     */
    debugAnnotationStringValues: InternedString[];
    /**
     * Interned packet context for android.network_packets.
     *
     * @generated from field: repeated perfetto.protos.NetworkPacketContext packet_context = 30;
     */
    packetContext: NetworkPacketContext[];
    /**
     * Interned name of a js function. We only intern js functions as there is a
     * lot of duplication for them, but less so for other strings in the V8 data
     * source.
     *
     * @generated from field: repeated perfetto.protos.InternedV8String v8_js_function_name = 31;
     */
    v8JsFunctionName: InternedV8String[];
    /**
     * Js functions can be emitted multiple times for various compilation tiers,
     * so it makes sense to deduplicate all this.
     *
     * @generated from field: repeated perfetto.protos.InternedV8JsFunction v8_js_function = 32;
     */
    v8JsFunction: InternedV8JsFunction[];
    /**
     * Interned JS script (there is one associated with each JS function)
     *
     * @generated from field: repeated perfetto.protos.InternedV8JsScript v8_js_script = 33;
     */
    v8JsScript: InternedV8JsScript[];
    /**
     * Interned Wasm script (there is one associated with each Wasm function)
     *
     * @generated from field: repeated perfetto.protos.InternedV8WasmScript v8_wasm_script = 34;
     */
    v8WasmScript: InternedV8WasmScript[];
    /**
     * Every V8 event is associated with an isolate, intern the isolate to remove
     * duplication.
     *
     * @generated from field: repeated perfetto.protos.InternedV8Isolate v8_isolate = 35;
     */
    v8Isolate: InternedV8Isolate[];
    /**
     * Interned protolog strings args.
     *
     * @generated from field: repeated perfetto.protos.InternedString protolog_string_args = 36;
     */
    protologStringArgs: InternedString[];
    /**
     * Interned protolog stacktraces.
     *
     * @generated from field: repeated perfetto.protos.InternedString protolog_stacktrace = 37;
     */
    protologStacktrace: InternedString[];
    /**
     * viewcapture
     *
     * @generated from field: repeated perfetto.protos.InternedString viewcapture_package_name = 38;
     */
    viewcapturePackageName: InternedString[];
    /**
     * @generated from field: repeated perfetto.protos.InternedString viewcapture_window_name = 39;
     */
    viewcaptureWindowName: InternedString[];
    /**
     * @generated from field: repeated perfetto.protos.InternedString viewcapture_view_id = 40;
     */
    viewcaptureViewId: InternedString[];
    /**
     * @generated from field: repeated perfetto.protos.InternedString viewcapture_class_name = 41;
     */
    viewcaptureClassName: InternedString[];
};
/**
 * Describes the message perfetto.protos.InternedData.
 * Use `create(InternedDataSchema)` to create a new message.
 */
export declare const InternedDataSchema: GenMessage<InternedData>;
//# sourceMappingURL=interned_data_pb.d.ts.map