import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/perfetto/trace/chrome/chrome_trace_event.proto.
 */
export declare const file_protos_perfetto_trace_chrome_chrome_trace_event: GenFile;
/**
 * @generated from message perfetto.protos.ChromeTracedValue
 */
export type ChromeTracedValue = Message<"perfetto.protos.ChromeTracedValue"> & {
    /**
     * @generated from field: optional perfetto.protos.ChromeTracedValue.NestedType nested_type = 1;
     */
    nestedType: ChromeTracedValue_NestedType;
    /**
     * @generated from field: repeated string dict_keys = 2;
     */
    dictKeys: string[];
    /**
     * @generated from field: repeated perfetto.protos.ChromeTracedValue dict_values = 3;
     */
    dictValues: ChromeTracedValue[];
    /**
     * @generated from field: repeated perfetto.protos.ChromeTracedValue array_values = 4;
     */
    arrayValues: ChromeTracedValue[];
    /**
     * @generated from field: optional int32 int_value = 5;
     */
    intValue: number;
    /**
     * @generated from field: optional double double_value = 6;
     */
    doubleValue: number;
    /**
     * @generated from field: optional bool bool_value = 7;
     */
    boolValue: boolean;
    /**
     * @generated from field: optional string string_value = 8;
     */
    stringValue: string;
};
/**
 * Describes the message perfetto.protos.ChromeTracedValue.
 * Use `create(ChromeTracedValueSchema)` to create a new message.
 */
export declare const ChromeTracedValueSchema: GenMessage<ChromeTracedValue>;
/**
 * @generated from enum perfetto.protos.ChromeTracedValue.NestedType
 */
export declare enum ChromeTracedValue_NestedType {
    /**
     * @generated from enum value: DICT = 0;
     */
    DICT = 0,
    /**
     * @generated from enum value: ARRAY = 1;
     */
    ARRAY = 1
}
/**
 * Describes the enum perfetto.protos.ChromeTracedValue.NestedType.
 */
export declare const ChromeTracedValue_NestedTypeSchema: GenEnum<ChromeTracedValue_NestedType>;
/**
 * @generated from message perfetto.protos.ChromeStringTableEntry
 */
export type ChromeStringTableEntry = Message<"perfetto.protos.ChromeStringTableEntry"> & {
    /**
     * @generated from field: optional string value = 1;
     */
    value: string;
    /**
     * @generated from field: optional int32 index = 2;
     */
    index: number;
};
/**
 * Describes the message perfetto.protos.ChromeStringTableEntry.
 * Use `create(ChromeStringTableEntrySchema)` to create a new message.
 */
export declare const ChromeStringTableEntrySchema: GenMessage<ChromeStringTableEntry>;
/**
 * Deprecated, use TrackEvent protos instead.
 *
 * @generated from message perfetto.protos.ChromeTraceEvent
 */
export type ChromeTraceEvent = Message<"perfetto.protos.ChromeTraceEvent"> & {
    /**
     * @generated from field: optional string name = 1;
     */
    name: string;
    /**
     * @generated from field: optional int64 timestamp = 2;
     */
    timestamp: bigint;
    /**
     * @generated from field: optional int32 phase = 3;
     */
    phase: number;
    /**
     * @generated from field: optional int32 thread_id = 4;
     */
    threadId: number;
    /**
     * @generated from field: optional int64 duration = 5;
     */
    duration: bigint;
    /**
     * @generated from field: optional int64 thread_duration = 6;
     */
    threadDuration: bigint;
    /**
     * @generated from field: optional string scope = 7;
     */
    scope: string;
    /**
     * @generated from field: optional uint64 id = 8;
     */
    id: bigint;
    /**
     * @generated from field: optional uint32 flags = 9;
     */
    flags: number;
    /**
     * @generated from field: optional string category_group_name = 10;
     */
    categoryGroupName: string;
    /**
     * @generated from field: optional int32 process_id = 11;
     */
    processId: number;
    /**
     * @generated from field: optional int64 thread_timestamp = 12;
     */
    threadTimestamp: bigint;
    /**
     * @generated from field: optional uint64 bind_id = 13;
     */
    bindId: bigint;
    /**
     * @generated from field: repeated perfetto.protos.ChromeTraceEvent.Arg args = 14;
     */
    args: ChromeTraceEvent_Arg[];
    /**
     * Takes precedence over respectively |name| and
     * |category_group_name_index| if set,
     * and are indices into |string_table|.
     *
     * @generated from field: optional uint32 name_index = 15;
     */
    nameIndex: number;
    /**
     * @generated from field: optional uint32 category_group_name_index = 16;
     */
    categoryGroupNameIndex: number;
};
/**
 * Describes the message perfetto.protos.ChromeTraceEvent.
 * Use `create(ChromeTraceEventSchema)` to create a new message.
 */
export declare const ChromeTraceEventSchema: GenMessage<ChromeTraceEvent>;
/**
 * @generated from message perfetto.protos.ChromeTraceEvent.Arg
 */
export type ChromeTraceEvent_Arg = Message<"perfetto.protos.ChromeTraceEvent.Arg"> & {
    /**
     * @generated from field: optional string name = 1;
     */
    name: string;
    /**
     * @generated from oneof perfetto.protos.ChromeTraceEvent.Arg.value
     */
    value: {
        /**
         * @generated from field: bool bool_value = 2;
         */
        value: boolean;
        case: "boolValue";
    } | {
        /**
         * @generated from field: uint64 uint_value = 3;
         */
        value: bigint;
        case: "uintValue";
    } | {
        /**
         * @generated from field: int64 int_value = 4;
         */
        value: bigint;
        case: "intValue";
    } | {
        /**
         * @generated from field: double double_value = 5;
         */
        value: number;
        case: "doubleValue";
    } | {
        /**
         * @generated from field: string string_value = 6;
         */
        value: string;
        case: "stringValue";
    } | {
        /**
         * Pointers are stored in a separate type as the JSON output treats them
         * differently from other uint64 values.
         *
         * @generated from field: uint64 pointer_value = 7;
         */
        value: bigint;
        case: "pointerValue";
    } | {
        /**
         * @generated from field: string json_value = 8;
         */
        value: string;
        case: "jsonValue";
    } | {
        /**
         * @generated from field: perfetto.protos.ChromeTracedValue traced_value = 10;
         */
        value: ChromeTracedValue;
        case: "tracedValue";
    } | {
        case: undefined;
        value?: undefined;
    };
    /**
     * Takes precedence over |name| if set,
     * and is an index into |string_table|.
     *
     * @generated from field: optional uint32 name_index = 9;
     */
    nameIndex: number;
};
/**
 * Describes the message perfetto.protos.ChromeTraceEvent.Arg.
 * Use `create(ChromeTraceEvent_ArgSchema)` to create a new message.
 */
export declare const ChromeTraceEvent_ArgSchema: GenMessage<ChromeTraceEvent_Arg>;
/**
 * @generated from message perfetto.protos.ChromeMetadata
 */
export type ChromeMetadata = Message<"perfetto.protos.ChromeMetadata"> & {
    /**
     * @generated from field: optional string name = 1;
     */
    name: string;
    /**
     * @generated from oneof perfetto.protos.ChromeMetadata.value
     */
    value: {
        /**
         * @generated from field: string string_value = 2;
         */
        value: string;
        case: "stringValue";
    } | {
        /**
         * @generated from field: bool bool_value = 3;
         */
        value: boolean;
        case: "boolValue";
    } | {
        /**
         * @generated from field: int64 int_value = 4;
         */
        value: bigint;
        case: "intValue";
    } | {
        /**
         * @generated from field: string json_value = 5;
         */
        value: string;
        case: "jsonValue";
    } | {
        case: undefined;
        value?: undefined;
    };
};
/**
 * Describes the message perfetto.protos.ChromeMetadata.
 * Use `create(ChromeMetadataSchema)` to create a new message.
 */
export declare const ChromeMetadataSchema: GenMessage<ChromeMetadata>;
/**
 * Subtraces produced in legacy json format by Chrome tracing agents not yet
 * updated to support the new binary format, e.g. ETW and CrOS ARC.
 * TODO(eseckler): Update these agents to become perfetto producers.
 *
 * @generated from message perfetto.protos.ChromeLegacyJsonTrace
 */
export type ChromeLegacyJsonTrace = Message<"perfetto.protos.ChromeLegacyJsonTrace"> & {
    /**
     * @generated from field: optional perfetto.protos.ChromeLegacyJsonTrace.TraceType type = 1;
     */
    type: ChromeLegacyJsonTrace_TraceType;
    /**
     * @generated from field: optional string data = 2;
     */
    data: string;
};
/**
 * Describes the message perfetto.protos.ChromeLegacyJsonTrace.
 * Use `create(ChromeLegacyJsonTraceSchema)` to create a new message.
 */
export declare const ChromeLegacyJsonTraceSchema: GenMessage<ChromeLegacyJsonTrace>;
/**
 * @generated from enum perfetto.protos.ChromeLegacyJsonTrace.TraceType
 */
export declare enum ChromeLegacyJsonTrace_TraceType {
    /**
     * @generated from enum value: USER_TRACE = 0;
     */
    USER_TRACE = 0,
    /**
     * Deprecated.
     *
     * @generated from enum value: SYSTEM_TRACE = 1;
     */
    SYSTEM_TRACE = 1
}
/**
 * Describes the enum perfetto.protos.ChromeLegacyJsonTrace.TraceType.
 */
export declare const ChromeLegacyJsonTrace_TraceTypeSchema: GenEnum<ChromeLegacyJsonTrace_TraceType>;
/**
 * @generated from message perfetto.protos.ChromeEventBundle
 */
export type ChromeEventBundle = Message<"perfetto.protos.ChromeEventBundle"> & {
    /**
     * Deprecated, use TrackEvent protos instead.
     *
     * @generated from field: repeated perfetto.protos.ChromeTraceEvent trace_events = 1 [deprecated = true];
     * @deprecated
     */
    traceEvents: ChromeTraceEvent[];
    /**
     * TODO(ssid): This should be deprecated in favor of ChromeMetadataPacket
     * which contains typed fields.
     *
     * @generated from field: repeated perfetto.protos.ChromeMetadata metadata = 2;
     */
    metadata: ChromeMetadata[];
    /**
     * ftrace output from CrOS and Cast system tracing agents.
     * TODO(eseckler): Replace system traces with native perfetto service.
     *
     * @generated from field: repeated string legacy_ftrace_output = 4;
     */
    legacyFtraceOutput: string[];
    /**
     * @generated from field: repeated perfetto.protos.ChromeLegacyJsonTrace legacy_json_trace = 5;
     */
    legacyJsonTrace: ChromeLegacyJsonTrace[];
    /**
     * Contents of a string table that's valid for
     * the whole ChromeEventBundle entry.
     *
     * @generated from field: repeated perfetto.protos.ChromeStringTableEntry string_table = 3 [deprecated = true];
     * @deprecated
     */
    stringTable: ChromeStringTableEntry[];
};
/**
 * Describes the message perfetto.protos.ChromeEventBundle.
 * Use `create(ChromeEventBundleSchema)` to create a new message.
 */
export declare const ChromeEventBundleSchema: GenMessage<ChromeEventBundle>;
//# sourceMappingURL=chrome_trace_event_pb.d.ts.map