import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { AndroidProcessMetadata } from "./process_metadata_pb";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/perfetto/metrics/android/startup_metric.proto.
 */
export declare const file_protos_perfetto_metrics_android_startup_metric: GenFile;
/**
 * Android app startup metrics.
 *
 * @generated from message perfetto.protos.AndroidStartupMetric
 */
export type AndroidStartupMetric = Message<"perfetto.protos.AndroidStartupMetric"> & {
    /**
     * @generated from field: repeated perfetto.protos.AndroidStartupMetric.Startup startup = 1;
     */
    startup: AndroidStartupMetric_Startup[];
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.
 * Use `create(AndroidStartupMetricSchema)` to create a new message.
 */
export declare const AndroidStartupMetricSchema: GenMessage<AndroidStartupMetric>;
/**
 * A simplified view of the task state durations for a thread
 * and a span of time.
 *
 * @generated from message perfetto.protos.AndroidStartupMetric.TaskStateBreakdown
 */
export type AndroidStartupMetric_TaskStateBreakdown = Message<"perfetto.protos.AndroidStartupMetric.TaskStateBreakdown"> & {
    /**
     * @generated from field: optional int64 running_dur_ns = 1;
     */
    runningDurNs: bigint;
    /**
     * @generated from field: optional int64 runnable_dur_ns = 2;
     */
    runnableDurNs: bigint;
    /**
     * @generated from field: optional int64 uninterruptible_sleep_dur_ns = 3;
     */
    uninterruptibleSleepDurNs: bigint;
    /**
     * @generated from field: optional int64 interruptible_sleep_dur_ns = 4;
     */
    interruptibleSleepDurNs: bigint;
    /**
     * @generated from field: optional int64 uninterruptible_io_sleep_dur_ns = 5;
     */
    uninterruptibleIoSleepDurNs: bigint;
    /**
     * @generated from field: optional int64 uninterruptible_non_io_sleep_dur_ns = 6;
     */
    uninterruptibleNonIoSleepDurNs: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.TaskStateBreakdown.
 * Use `create(AndroidStartupMetric_TaskStateBreakdownSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_TaskStateBreakdownSchema: GenMessage<AndroidStartupMetric_TaskStateBreakdown>;
/**
 * @generated from message perfetto.protos.AndroidStartupMetric.McyclesByCoreType
 */
export type AndroidStartupMetric_McyclesByCoreType = Message<"perfetto.protos.AndroidStartupMetric.McyclesByCoreType"> & {
    /**
     * @generated from field: optional int64 little = 1;
     */
    little: bigint;
    /**
     * @generated from field: optional int64 big = 2;
     */
    big: bigint;
    /**
     * @generated from field: optional int64 bigger = 3;
     */
    bigger: bigint;
    /**
     * @generated from field: optional int64 unknown = 4;
     */
    unknown: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.McyclesByCoreType.
 * Use `create(AndroidStartupMetric_McyclesByCoreTypeSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_McyclesByCoreTypeSchema: GenMessage<AndroidStartupMetric_McyclesByCoreType>;
/**
 * @generated from message perfetto.protos.AndroidStartupMetric.Slice
 */
export type AndroidStartupMetric_Slice = Message<"perfetto.protos.AndroidStartupMetric.Slice"> & {
    /**
     * @generated from field: optional int64 dur_ns = 1;
     */
    durNs: bigint;
    /**
     * @generated from field: optional double dur_ms = 2;
     */
    durMs: number;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.Slice.
 * Use `create(AndroidStartupMetric_SliceSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_SliceSchema: GenMessage<AndroidStartupMetric_Slice>;
/**
 * Timing information spanning the intent received by the
 * activity manager to the first frame drawn.
 * Next id: 38
 *
 * @generated from message perfetto.protos.AndroidStartupMetric.ToFirstFrame
 */
export type AndroidStartupMetric_ToFirstFrame = Message<"perfetto.protos.AndroidStartupMetric.ToFirstFrame"> & {
    /**
     * The duration between the intent received and first frame.
     *
     * @generated from field: optional int64 dur_ns = 1;
     */
    durNs: bigint;
    /**
     * @generated from field: optional double dur_ms = 17;
     */
    durMs: number;
    /**
     * Breakdown of time to first frame by task state for the main thread of
     * the process starting up.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.TaskStateBreakdown main_thread_by_task_state = 2;
     */
    mainThreadByTaskState?: AndroidStartupMetric_TaskStateBreakdown;
    /**
     * The mcycles taken by this startup across all CPUs (broken down by core
     * type).
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.McyclesByCoreType mcycles_by_core_type = 26;
     */
    mcyclesByCoreType?: AndroidStartupMetric_McyclesByCoreType;
    /**
     * In this timespan, how many processes (apart from the main activity) were
     * spawned.
     *
     * @generated from field: optional uint32 other_processes_spawned_count = 3;
     */
    otherProcessesSpawnedCount: number;
    /**
     * Total time spent in activity manager between the initial intent
     * and the end of the activity starter.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_manager = 4;
     */
    timeActivityManager?: AndroidStartupMetric_Slice;
    /**
     * The following slices follow the typical steps post-fork.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_thread_main = 5;
     */
    timeActivityThreadMain?: AndroidStartupMetric_Slice;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_bind_application = 6;
     */
    timeBindApplication?: AndroidStartupMetric_Slice;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_start = 7;
     */
    timeActivityStart?: AndroidStartupMetric_Slice;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_resume = 8;
     */
    timeActivityResume?: AndroidStartupMetric_Slice;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_restart = 21;
     */
    timeActivityRestart?: AndroidStartupMetric_Slice;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_choreographer = 9;
     */
    timeChoreographer?: AndroidStartupMetric_Slice;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_inflate = 22;
     */
    timeInflate?: AndroidStartupMetric_Slice;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_get_resources = 23;
     */
    timeGetResources?: AndroidStartupMetric_Slice;
    /**
     * If we are starting a new process, record the duration from the
     * intent being received to the time we call the zygote.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_before_start_process = 10;
     */
    timeBeforeStartProcess?: AndroidStartupMetric_Slice;
    /**
     * The actual duration of the process start (based on the zygote slice).
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_during_start_process = 11;
     */
    timeDuringStartProcess?: AndroidStartupMetric_Slice;
    /**
     * The duration from launch to first running state thread of startup
     * process.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_to_running_state = 35;
     */
    timeToRunningState?: AndroidStartupMetric_Slice;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice to_post_fork = 18;
     */
    toPostFork?: AndroidStartupMetric_Slice;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice to_activity_thread_main = 19;
     */
    toActivityThreadMain?: AndroidStartupMetric_Slice;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice to_bind_application = 20;
     */
    toBindApplication?: AndroidStartupMetric_Slice;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_post_fork = 16;
     */
    timePostFork?: AndroidStartupMetric_Slice;
    /**
     * Total time on class initialization during app startup.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_class_initialization = 36;
     */
    timeClassInitialization?: AndroidStartupMetric_Slice;
    /**
     * The total time spent on opening dex files.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_dex_open = 24;
     */
    timeDexOpen?: AndroidStartupMetric_Slice;
    /**
     * Total time spent verifying classes during app startup.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_verify_class = 25;
     */
    timeVerifyClass?: AndroidStartupMetric_Slice;
    /**
     * Number of methods that were compiled by JIT during app startup.
     *
     * @generated from field: optional uint32 jit_compiled_methods = 27;
     */
    jitCompiledMethods: number;
    /**
     * Number of class initializations during app startup.
     *
     * @generated from field: optional uint32 class_initialization_count = 37;
     */
    classInitializationCount: number;
    /**
     * Time spent running CPU on jit thread pool.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_jit_thread_pool_on_cpu = 28;
     */
    timeJitThreadPoolOnCpu?: AndroidStartupMetric_Slice;
    /**
     * Time spent on garbage collection.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_gc_total = 29;
     */
    timeGcTotal?: AndroidStartupMetric_Slice;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_gc_on_cpu = 30;
     */
    timeGcOnCpu?: AndroidStartupMetric_Slice;
    /**
     * Time spent in lock contention on the main thread of the process being
     * started up. This includes *all* types of lock contention not just monitor
     * contention.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_lock_contention_thread_main = 31;
     */
    timeLockContentionThreadMain?: AndroidStartupMetric_Slice;
    /**
     * Time spent in monitor lock contention on the main thread of the
     * process being started up. This will be a subset of the time counted by
     * |time_lock_contention_thread_main|.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_monitor_contention_thread_main = 32;
     */
    timeMonitorContentionThreadMain?: AndroidStartupMetric_Slice;
    /**
     * Time spent in opening dex files on the main thread of the process
     * being started up.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_dex_open_thread_main = 33;
     */
    timeDexOpenThreadMain?: AndroidStartupMetric_Slice;
    /**
     * Time spent in dlopening .so files on the main thread of the process
     * being started up.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_dlopen_thread_main = 34;
     */
    timeDlopenThreadMain?: AndroidStartupMetric_Slice;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.ToFirstFrame.
 * Use `create(AndroidStartupMetric_ToFirstFrameSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_ToFirstFrameSchema: GenMessage<AndroidStartupMetric_ToFirstFrame>;
/**
 * Metrics about startup which were developed by looking at experiments using
 * high-speed cameras (HSC).
 *
 * @generated from message perfetto.protos.AndroidStartupMetric.HscMetrics
 */
export type AndroidStartupMetric_HscMetrics = Message<"perfetto.protos.AndroidStartupMetric.HscMetrics"> & {
    /**
     * The duration of the full "startup" as defined by HSC tests.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice full_startup = 1;
     */
    fullStartup?: AndroidStartupMetric_Slice;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.HscMetrics.
 * Use `create(AndroidStartupMetric_HscMetricsSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_HscMetricsSchema: GenMessage<AndroidStartupMetric_HscMetrics>;
/**
 * @generated from message perfetto.protos.AndroidStartupMetric.Activity
 */
export type AndroidStartupMetric_Activity = Message<"perfetto.protos.AndroidStartupMetric.Activity"> & {
    /**
     * @generated from field: optional string name = 1;
     */
    name: string;
    /**
     * @generated from field: optional string method = 2;
     */
    method: string;
    /**
     * @generated from field: optional int64 ts_method_start = 4;
     */
    tsMethodStart: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.Activity.
 * Use `create(AndroidStartupMetric_ActivitySchema)` to create a new message.
 */
export declare const AndroidStartupMetric_ActivitySchema: GenMessage<AndroidStartupMetric_Activity>;
/**
 * @generated from message perfetto.protos.AndroidStartupMetric.BinderTransaction
 */
export type AndroidStartupMetric_BinderTransaction = Message<"perfetto.protos.AndroidStartupMetric.BinderTransaction"> & {
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice duration = 1;
     */
    duration?: AndroidStartupMetric_Slice;
    /**
     * @generated from field: optional string thread = 2;
     */
    thread: string;
    /**
     * @generated from field: optional string destination_thread = 3;
     */
    destinationThread: string;
    /**
     * @generated from field: optional string destination_process = 4;
     */
    destinationProcess: string;
    /**
     * From
     * https://cs.android.com/android/platform/superproject/main/+/main:external/perfetto/protos/perfetto/trace/ftrace/binder.proto;l=15;drc=7b6a788162a30802f4c9d8d7a30a54e25edd30f1
     *
     * @generated from field: optional string flags = 5;
     */
    flags: string;
    /**
     * From
     * https://cs.android.com/android/platform/superproject/main/+/main:external/perfetto/protos/perfetto/trace/ftrace/binder.proto;l=14;drc=7b6a788162a30802f4c9d8d7a30a54e25edd30f1
     *
     * @generated from field: optional string code = 6;
     */
    code: string;
    /**
     * From
     * https://cs.android.com/android/platform/superproject/main/+/main:external/perfetto/protos/perfetto/trace/ftrace/binder.proto;l=37;drc=7b6a788162a30802f4c9d8d7a30a54e25edd30f1
     *
     * @generated from field: optional int64 data_size = 7;
     */
    dataSize: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.BinderTransaction.
 * Use `create(AndroidStartupMetric_BinderTransactionSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_BinderTransactionSchema: GenMessage<AndroidStartupMetric_BinderTransaction>;
/**
 * Metrics with information about the status of odex files and the outcome
 * of the loading process.
 * Multiple files might be loaded for a single startup. Platform might also
 * decide to discard an odex file and instead load a fallback, for example
 * in case the OS or apk were updated.
 *
 * @generated from message perfetto.protos.AndroidStartupMetric.OptimizationStatus
 */
export type AndroidStartupMetric_OptimizationStatus = Message<"perfetto.protos.AndroidStartupMetric.OptimizationStatus"> & {
    /**
     * @generated from field: optional string odex_status = 1;
     */
    odexStatus: string;
    /**
     * @generated from field: optional string compilation_filter = 2;
     */
    compilationFilter: string;
    /**
     * @generated from field: optional string compilation_reason = 3;
     */
    compilationReason: string;
    /**
     * @generated from field: optional string location = 4;
     */
    location: string;
    /**
     * @generated from field: optional string summary = 5;
     */
    summary: string;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.OptimizationStatus.
 * Use `create(AndroidStartupMetric_OptimizationStatusSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_OptimizationStatusSchema: GenMessage<AndroidStartupMetric_OptimizationStatus>;
/**
 * Contains the name and duration of class verification occurred during
 * the startup.
 *
 * @generated from message perfetto.protos.AndroidStartupMetric.VerifyClass
 */
export type AndroidStartupMetric_VerifyClass = Message<"perfetto.protos.AndroidStartupMetric.VerifyClass"> & {
    /**
     * @generated from field: optional string name = 1;
     */
    name: string;
    /**
     * @generated from field: optional int64 dur_ns = 2;
     */
    durNs: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.VerifyClass.
 * Use `create(AndroidStartupMetric_VerifyClassSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_VerifyClassSchema: GenMessage<AndroidStartupMetric_VerifyClass>;
/**
 * Contains timestamps of important events which occurred during the
 * startup.
 *
 * @generated from message perfetto.protos.AndroidStartupMetric.EventTimestamps
 */
export type AndroidStartupMetric_EventTimestamps = Message<"perfetto.protos.AndroidStartupMetric.EventTimestamps"> & {
    /**
     * @generated from field: optional int64 intent_received = 1;
     */
    intentReceived: bigint;
    /**
     * @generated from field: optional int64 first_frame = 2;
     */
    firstFrame: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.EventTimestamps.
 * Use `create(AndroidStartupMetric_EventTimestampsSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_EventTimestampsSchema: GenMessage<AndroidStartupMetric_EventTimestamps>;
/**
 * Contains information about the state of a system during the app startup.
 * Useful to put the startup in context.
 *
 * @generated from message perfetto.protos.AndroidStartupMetric.SystemState
 */
export type AndroidStartupMetric_SystemState = Message<"perfetto.protos.AndroidStartupMetric.SystemState"> & {
    /**
     * Whether the dex2oat64 process was running concurrent to the startup.
     * Deprecated as of 10/2022.
     *
     * @generated from field: optional bool dex2oat_running = 1 [deprecated = true];
     * @deprecated
     */
    dex2oatRunning: boolean;
    /**
     * Whether the installd process was running concurrent to the startup.
     * Deprecated as of 10/2022.
     *
     * @generated from field: optional bool installd_running = 2 [deprecated = true];
     * @deprecated
     */
    installdRunning: boolean;
    /**
     * The number of broadcasts dispatched by the system during the app
     * launch.
     *
     * @generated from field: optional int64 broadcast_dispatched_count = 3;
     */
    broadcastDispatchedCount: bigint;
    /**
     * The number of broadcasts received by an app or the system during the
     * app launch. Note that multiple packages can be subscribed to the same
     * broadcast so a single dsipatch can cause multiple packages to receive
     * and process a broadcast.
     *
     * @generated from field: optional int64 broadcast_received_count = 4;
     */
    broadcastReceivedCount: bigint;
    /**
     * The most active (i.e. consuming the most mcycles) processes during the
     * app launch excluding the process(es) being launched.
     * Note: the exact number of returned is an implementation detail and
     * will likely change over time.
     *
     * @generated from field: repeated string most_active_non_launch_processes = 5;
     */
    mostActiveNonLaunchProcesses: string[];
    /**
     * Duration the installd process was running concurrent to the startup.
     *
     * @generated from field: optional int64 installd_dur_ns = 6;
     */
    installdDurNs: bigint;
    /**
     * Duration the dex2oat64 process was running concurrent to the startup.
     *
     * @generated from field: optional int64 dex2oat_dur_ns = 7;
     */
    dex2oatDurNs: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.SystemState.
 * Use `create(AndroidStartupMetric_SystemStateSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_SystemStateSchema: GenMessage<AndroidStartupMetric_SystemState>;
/**
 * Contains detailed information for slow startup causes.
 *
 * @generated from message perfetto.protos.AndroidStartupMetric.SlowStartReasonDetailed
 */
export type AndroidStartupMetric_SlowStartReasonDetailed = Message<"perfetto.protos.AndroidStartupMetric.SlowStartReasonDetailed"> & {
    /**
     * @generated from field: optional string reason = 1;
     */
    reason: string;
    /**
     * @generated from field: optional string details = 2;
     */
    details: string;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.SlowStartReasonDetailed.
 * Use `create(AndroidStartupMetric_SlowStartReasonDetailedSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_SlowStartReasonDetailedSchema: GenMessage<AndroidStartupMetric_SlowStartReasonDetailed>;
/**
 * Contains information for slow startup causes.
 * Next id: 11.
 *
 * @generated from message perfetto.protos.AndroidStartupMetric.SlowStartReason
 */
export type AndroidStartupMetric_SlowStartReason = Message<"perfetto.protos.AndroidStartupMetric.SlowStartReason"> & {
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.SlowStartReason.ReasonId reason_id = 1;
     */
    reasonId: AndroidStartupMetric_SlowStartReason_ReasonId;
    /**
     * Brief description for human readability.
     *
     * @generated from field: optional string reason = 2;
     */
    reason: string;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.SlowStartReason.SeverityLevel severity = 10;
     */
    severity: AndroidStartupMetric_SlowStartReason_SeverityLevel;
    /**
     * Expected value (inherited from threshold definition).
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.ThresholdValue expected_value = 3;
     */
    expectedValue?: AndroidStartupMetric_ThresholdValue;
    /**
     * Actual value, can be used to decide severity level.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.ActualValue actual_value = 4;
     */
    actualValue?: AndroidStartupMetric_ActualValue;
    /**
     * Launch duration
     *
     * @generated from field: optional int64 launch_dur = 5;
     */
    launchDur: bigint;
    /**
     * Sum of durations of slices and thread states in trace_slices_or_threads.
     * Can be used to decide if a couple of top slices or threads caused the
     * issue.
     *
     * @generated from field: optional int64 duration = 6;
     */
    duration: bigint;
    /**
     * Information of a subset of slice and thread sections to focused on,
     * sorted by the duration in descending order.
     * By checking out the top slices/threads, developers can identify specific
     * slices or threads for further investigation.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.TraceSliceSectionInfo trace_slice_sections = 7;
     */
    traceSliceSections?: AndroidStartupMetric_TraceSliceSectionInfo;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.TraceThreadSectionInfo trace_thread_sections = 8;
     */
    traceThreadSections?: AndroidStartupMetric_TraceThreadSectionInfo;
    /**
     * Details specific for a reason.
     *
     * @generated from field: optional string additional_info = 9;
     */
    additionalInfo: string;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.SlowStartReason.
 * Use `create(AndroidStartupMetric_SlowStartReasonSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_SlowStartReasonSchema: GenMessage<AndroidStartupMetric_SlowStartReason>;
/**
 * Points to reason description and solution.
 *
 * @generated from enum perfetto.protos.AndroidStartupMetric.SlowStartReason.ReasonId
 */
export declare enum AndroidStartupMetric_SlowStartReason_ReasonId {
    /**
     * @generated from enum value: REASON_ID_UNSPECIFIED = 0;
     */
    REASON_ID_UNSPECIFIED = 0,
    /**
     * @generated from enum value: NO_BASELINE_OR_CLOUD_PROFILES = 1;
     */
    NO_BASELINE_OR_CLOUD_PROFILES = 1,
    /**
     * @generated from enum value: RUN_FROM_APK = 2;
     */
    RUN_FROM_APK = 2,
    /**
     * @generated from enum value: UNLOCK_RUNNING = 3;
     */
    UNLOCK_RUNNING = 3,
    /**
     * @generated from enum value: APP_IN_DEBUGGABLE_MODE = 4;
     */
    APP_IN_DEBUGGABLE_MODE = 4,
    /**
     * @generated from enum value: GC_ACTIVITY = 5;
     */
    GC_ACTIVITY = 5,
    /**
     * @generated from enum value: DEX2OAT_RUNNING = 6;
     */
    DEX2OAT_RUNNING = 6,
    /**
     * @generated from enum value: INSTALLD_RUNNING = 7;
     */
    INSTALLD_RUNNING = 7,
    /**
     * @generated from enum value: MAIN_THREAD_TIME_SPENT_IN_RUNNABLE = 8;
     */
    MAIN_THREAD_TIME_SPENT_IN_RUNNABLE = 8,
    /**
     * @generated from enum value: MAIN_THREAD_TIME_SPENT_IN_INTERRUPTIBLE_SLEEP = 9;
     */
    MAIN_THREAD_TIME_SPENT_IN_INTERRUPTIBLE_SLEEP = 9,
    /**
     * @generated from enum value: MAIN_THREAD_TIME_SPENT_IN_BLOCKING_IO = 10;
     */
    MAIN_THREAD_TIME_SPENT_IN_BLOCKING_IO = 10,
    /**
     * @generated from enum value: MAIN_THREAD_TIME_SPENT_IN_OPEN_DEX_FILES_FROM_OAT = 11;
     */
    MAIN_THREAD_TIME_SPENT_IN_OPEN_DEX_FILES_FROM_OAT = 11,
    /**
     * @generated from enum value: TIME_SPENT_IN_BIND_APPLICATION = 12;
     */
    TIME_SPENT_IN_BIND_APPLICATION = 12,
    /**
     * @generated from enum value: TIME_SPENT_IN_VIEW_INFLATION = 13;
     */
    TIME_SPENT_IN_VIEW_INFLATION = 13,
    /**
     * @generated from enum value: TIME_SPENT_IN_RESOURCES_MANAGER_GET_RESOURCES = 14;
     */
    TIME_SPENT_IN_RESOURCES_MANAGER_GET_RESOURCES = 14,
    /**
     * @generated from enum value: TIME_SPENT_VERIFYING_CLASSES = 15;
     */
    TIME_SPENT_VERIFYING_CLASSES = 15,
    /**
     * @generated from enum value: POTENTIAL_CPU_CONTENTION_WITH_ANOTHER_PROCESS = 16;
     */
    POTENTIAL_CPU_CONTENTION_WITH_ANOTHER_PROCESS = 16,
    /**
     * @generated from enum value: JIT_ACTIVITY = 17;
     */
    JIT_ACTIVITY = 17,
    /**
     * @generated from enum value: MAIN_THREAD_LOCK_CONTENTION = 18;
     */
    MAIN_THREAD_LOCK_CONTENTION = 18,
    /**
     * @generated from enum value: MAIN_THREAD_MONITOR_CONTENTION = 19;
     */
    MAIN_THREAD_MONITOR_CONTENTION = 19,
    /**
     * @generated from enum value: JIT_COMPILED_METHODS = 20;
     */
    JIT_COMPILED_METHODS = 20,
    /**
     * @generated from enum value: BROADCAST_DISPATCHED_COUNT = 21;
     */
    BROADCAST_DISPATCHED_COUNT = 21,
    /**
     * @generated from enum value: BROADCAST_RECEIVED_COUNT = 22;
     */
    BROADCAST_RECEIVED_COUNT = 22,
    /**
     * @generated from enum value: STARTUP_RUNNING_CONCURRENT = 23;
     */
    STARTUP_RUNNING_CONCURRENT = 23,
    /**
     * @generated from enum value: MAIN_THREAD_BINDER_TRANSCATIONS_BLOCKED = 24;
     */
    MAIN_THREAD_BINDER_TRANSCATIONS_BLOCKED = 24
}
/**
 * Describes the enum perfetto.protos.AndroidStartupMetric.SlowStartReason.ReasonId.
 */
export declare const AndroidStartupMetric_SlowStartReason_ReasonIdSchema: GenEnum<AndroidStartupMetric_SlowStartReason_ReasonId>;
/**
 * Severity level for a reason.
 *
 * @generated from enum perfetto.protos.AndroidStartupMetric.SlowStartReason.SeverityLevel
 */
export declare enum AndroidStartupMetric_SlowStartReason_SeverityLevel {
    /**
     * @generated from enum value: SEVERITY_UNSPECIFIED = 0;
     */
    SEVERITY_UNSPECIFIED = 0,
    /**
     * @generated from enum value: ERROR = 1;
     */
    ERROR = 1,
    /**
     * @generated from enum value: WARNING = 2;
     */
    WARNING = 2,
    /**
     * @generated from enum value: INFO = 3;
     */
    INFO = 3
}
/**
 * Describes the enum perfetto.protos.AndroidStartupMetric.SlowStartReason.SeverityLevel.
 */
export declare const AndroidStartupMetric_SlowStartReason_SeverityLevelSchema: GenEnum<AndroidStartupMetric_SlowStartReason_SeverityLevel>;
/**
 * @generated from message perfetto.protos.AndroidStartupMetric.ThresholdValue
 */
export type AndroidStartupMetric_ThresholdValue = Message<"perfetto.protos.AndroidStartupMetric.ThresholdValue"> & {
    /**
     * Expected value. 1 for true and 0 for false for booleans.
     *
     * @generated from field: optional int64 value = 1;
     */
    value: bigint;
    /**
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.ThresholdValue.ThresholdUnit unit = 2;
     */
    unit: AndroidStartupMetric_ThresholdValue_ThresholdUnit;
    /**
     * For numeric threshold values only. When higher_expected is true,
     * an app startup is considered performant if actual value is higher
     * than the threshold.
     *
     * @generated from field: optional bool higher_expected = 3;
     */
    higherExpected: boolean;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.ThresholdValue.
 * Use `create(AndroidStartupMetric_ThresholdValueSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_ThresholdValueSchema: GenMessage<AndroidStartupMetric_ThresholdValue>;
/**
 * Expected value unit. Enum, e.g. "ns", "%"
 *
 * @generated from enum perfetto.protos.AndroidStartupMetric.ThresholdValue.ThresholdUnit
 */
export declare enum AndroidStartupMetric_ThresholdValue_ThresholdUnit {
    /**
     * @generated from enum value: THRESHOLD_UNIT_UNSPECIFIED = 0;
     */
    THRESHOLD_UNIT_UNSPECIFIED = 0,
    /**
     * @generated from enum value: NS = 1;
     */
    NS = 1,
    /**
     * @generated from enum value: PERCENTAGE = 2;
     */
    PERCENTAGE = 2,
    /**
     * @generated from enum value: TRUE_OR_FALSE = 3;
     */
    TRUE_OR_FALSE = 3,
    /**
     * @generated from enum value: COUNT = 4;
     */
    COUNT = 4
}
/**
 * Describes the enum perfetto.protos.AndroidStartupMetric.ThresholdValue.ThresholdUnit.
 */
export declare const AndroidStartupMetric_ThresholdValue_ThresholdUnitSchema: GenEnum<AndroidStartupMetric_ThresholdValue_ThresholdUnit>;
/**
 * @generated from message perfetto.protos.AndroidStartupMetric.ActualValue
 */
export type AndroidStartupMetric_ActualValue = Message<"perfetto.protos.AndroidStartupMetric.ActualValue"> & {
    /**
     * Actual value. 1 for true and 0 for false for booleans.
     *
     * @generated from field: optional int64 value = 1;
     */
    value: bigint;
    /**
     * Actual duration for percentage thresholds only.
     * E.g. if the threashold is 20% and the launch_duration is 1000ms,
     * then the actual duration is more than 200ms.
     *
     * @generated from field: optional int64 dur = 2;
     */
    dur: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.ActualValue.
 * Use `create(AndroidStartupMetric_ActualValueSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_ActualValueSchema: GenMessage<AndroidStartupMetric_ActualValue>;
/**
 * Contains information for a section of a slice.
 *
 * @generated from message perfetto.protos.AndroidStartupMetric.TraceSliceSection
 */
export type AndroidStartupMetric_TraceSliceSection = Message<"perfetto.protos.AndroidStartupMetric.TraceSliceSection"> & {
    /**
     * @generated from field: optional int64 start_timestamp = 1;
     */
    startTimestamp: bigint;
    /**
     * @generated from field: optional int64 end_timestamp = 2;
     */
    endTimestamp: bigint;
    /**
     * @generated from field: optional uint32 slice_id = 3;
     */
    sliceId: number;
    /**
     * @generated from field: optional string slice_name = 4;
     */
    sliceName: string;
    /**
     * @generated from field: optional uint32 process_pid = 5;
     */
    processPid: number;
    /**
     * @generated from field: optional uint32 thread_tid = 6;
     */
    threadTid: number;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.TraceSliceSection.
 * Use `create(AndroidStartupMetric_TraceSliceSectionSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_TraceSliceSectionSchema: GenMessage<AndroidStartupMetric_TraceSliceSection>;
/**
 * Information for the SliceSections
 *
 * @generated from message perfetto.protos.AndroidStartupMetric.TraceSliceSectionInfo
 */
export type AndroidStartupMetric_TraceSliceSectionInfo = Message<"perfetto.protos.AndroidStartupMetric.TraceSliceSectionInfo"> & {
    /**
     * @generated from field: repeated perfetto.protos.AndroidStartupMetric.TraceSliceSection slice_section = 1;
     */
    sliceSection: AndroidStartupMetric_TraceSliceSection[];
    /**
     * @generated from field: optional int64 start_timestamp = 2;
     */
    startTimestamp: bigint;
    /**
     * @generated from field: optional int64 end_timestamp = 3;
     */
    endTimestamp: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.TraceSliceSectionInfo.
 * Use `create(AndroidStartupMetric_TraceSliceSectionInfoSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_TraceSliceSectionInfoSchema: GenMessage<AndroidStartupMetric_TraceSliceSectionInfo>;
/**
 * Contains information for a section of a thread.
 *
 * @generated from message perfetto.protos.AndroidStartupMetric.TraceThreadSection
 */
export type AndroidStartupMetric_TraceThreadSection = Message<"perfetto.protos.AndroidStartupMetric.TraceThreadSection"> & {
    /**
     * @generated from field: optional int64 start_timestamp = 1;
     */
    startTimestamp: bigint;
    /**
     * @generated from field: optional int64 end_timestamp = 2;
     */
    endTimestamp: bigint;
    /**
     * Deprecated as of 09/2024
     *
     * @generated from field: optional uint32 thread_utid = 3;
     */
    threadUtid: number;
    /**
     * @generated from field: optional string thread_name = 4;
     */
    threadName: string;
    /**
     * @generated from field: optional uint32 process_pid = 5;
     */
    processPid: number;
    /**
     * @generated from field: optional uint32 thread_tid = 6;
     */
    threadTid: number;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.TraceThreadSection.
 * Use `create(AndroidStartupMetric_TraceThreadSectionSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_TraceThreadSectionSchema: GenMessage<AndroidStartupMetric_TraceThreadSection>;
/**
 * Information for the ThreadSections
 *
 * @generated from message perfetto.protos.AndroidStartupMetric.TraceThreadSectionInfo
 */
export type AndroidStartupMetric_TraceThreadSectionInfo = Message<"perfetto.protos.AndroidStartupMetric.TraceThreadSectionInfo"> & {
    /**
     * @generated from field: repeated perfetto.protos.AndroidStartupMetric.TraceThreadSection thread_section = 1;
     */
    threadSection: AndroidStartupMetric_TraceThreadSection[];
    /**
     * @generated from field: optional int64 start_timestamp = 2;
     */
    startTimestamp: bigint;
    /**
     * @generated from field: optional int64 end_timestamp = 3;
     */
    endTimestamp: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.TraceThreadSectionInfo.
 * Use `create(AndroidStartupMetric_TraceThreadSectionInfoSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_TraceThreadSectionInfoSchema: GenMessage<AndroidStartupMetric_TraceThreadSectionInfo>;
/**
 * Next id: 26
 *
 * @generated from message perfetto.protos.AndroidStartupMetric.Startup
 */
export type AndroidStartupMetric_Startup = Message<"perfetto.protos.AndroidStartupMetric.Startup"> & {
    /**
     * Random id uniquely identifying an app startup in this trace.
     *
     * @generated from field: optional uint32 startup_id = 1;
     */
    startupId: number;
    /**
     * Startup type (cold / warm / hot)
     *
     * @generated from field: optional string startup_type = 16;
     */
    startupType: string;
    /**
     * Number of CPUs the device has
     *
     * @generated from field: optional uint32 cpu_count = 25;
     */
    cpuCount: number;
    /**
     * Name of the package launched
     *
     * @generated from field: optional string package_name = 2;
     */
    packageName: string;
    /**
     * Name of the process launched
     *
     * @generated from field: optional string process_name = 3;
     */
    processName: string;
    /**
     * Details about the activities launched
     *
     * @generated from field: repeated perfetto.protos.AndroidStartupMetric.Activity activities = 11;
     */
    activities: AndroidStartupMetric_Activity[];
    /**
     * Details about slow binder transactions during the startup. The definition
     * of a slow transaction is an implementation detail.
     *
     * @generated from field: repeated perfetto.protos.AndroidStartupMetric.BinderTransaction long_binder_transactions = 14;
     */
    longBinderTransactions: AndroidStartupMetric_BinderTransaction[];
    /**
     * Did we ask the zygote for a new process
     *
     * @generated from field: optional bool zygote_new_process = 4;
     */
    zygoteNewProcess: boolean;
    /**
     * Number of processes hosting the activity involved in the launch.
     * This will usually be 1. If it is 0, it is indicative of a data / process
     * error. If > 1, the process died during startup and the system respawned
     * it.
     *
     * @generated from field: optional uint32 activity_hosting_process_count = 6;
     */
    activityHostingProcessCount: number;
    /**
     * Time it takes to display the first frame of the app`s UI.
     * Details:
     * https://developer.android.com/topic/performance/vitals/launch-time#time-initial
     *
     * @generated from field: optional int64 time_to_initial_display = 22;
     */
    timeToInitialDisplay: bigint;
    /**
     * Time to full display (TTFD) is the time ittakes for an app to become
     * interactive for the user.
     * Datails:
     * https://developer.android.com/topic/performance/vitals/launch-time#time-full
     *
     * @generated from field: optional int64 time_to_full_display = 23;
     */
    timeToFullDisplay: bigint;
    /**
     * Contains timestamps of important events which happened during
     * the startup.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.EventTimestamps event_timestamps = 13;
     */
    eventTimestamps?: AndroidStartupMetric_EventTimestamps;
    /**
     * Timing information spanning the intent received by the
     * activity manager to the first frame drawn.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.ToFirstFrame to_first_frame = 5;
     */
    toFirstFrame?: AndroidStartupMetric_ToFirstFrame;
    /**
     * Details about the process (uid, version, etc)
     *
     * @generated from field: optional perfetto.protos.AndroidProcessMetadata process = 7;
     */
    process?: AndroidProcessMetadata;
    /**
     * Metrics about startup which were developed by looking at experiments
     * using high-speed cameras (HSC).
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.HscMetrics hsc = 8;
     */
    hsc?: AndroidStartupMetric_HscMetrics;
    /**
     * The time taken in the startup from intent received to the start time
     * of the reportFullyDrawn slice. This should be longer than the time to
     * first frame as the application decides this after it starts rendering.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice report_fully_drawn = 9;
     */
    reportFullyDrawn?: AndroidStartupMetric_Slice;
    /**
     * Contains information about the status of odex files.
     *
     * @generated from field: repeated perfetto.protos.AndroidStartupMetric.OptimizationStatus optimization_status = 12;
     */
    optimizationStatus: AndroidStartupMetric_OptimizationStatus[];
    /**
     * Contains information about the class verification.
     *
     * @generated from field: repeated perfetto.protos.AndroidStartupMetric.VerifyClass verify_class = 19;
     */
    verifyClass: AndroidStartupMetric_VerifyClass[];
    /**
     * Contains the dlopen file names.
     *
     * @generated from field: repeated string dlopen_file = 20;
     */
    dlopenFile: string[];
    /**
     * Package name of startups running concurrent to the launch.
     *
     * @generated from field: repeated string startup_concurrent_to_launch = 18;
     */
    startupConcurrentToLaunch: string[];
    /**
     * Contains information about the state of the rest of the system during the
     * startup. This is useful for getting context about why a startup might
     * be slow beyond just what the app is doing.
     *
     * @generated from field: optional perfetto.protos.AndroidStartupMetric.SystemState system_state = 15;
     */
    systemState?: AndroidStartupMetric_SystemState;
    /**
     * A list of identified potential causes for slow startup.
     * Optional.
     *
     * @generated from field: repeated string slow_start_reason = 17;
     */
    slowStartReason: string[];
    /**
     * Same as slow_start_reason, but with more detailed information, obsolete.
     *
     * @generated from field: repeated perfetto.protos.AndroidStartupMetric.SlowStartReasonDetailed slow_start_reason_detailed = 21;
     */
    slowStartReasonDetailed: AndroidStartupMetric_SlowStartReasonDetailed[];
    /**
     * Similar to slow_start_reason_detailed, but with much more comprehensive
     * info. such as expected threshold, actual value and threads/slices to
     * inspect. slow_start_reason will be obsolete once
     * slow_start_reason_with_details is completed since
     * slow_start_reason_with_details contains all the data in slow_start_reason
     * and more.
     *
     * @generated from field: repeated perfetto.protos.AndroidStartupMetric.SlowStartReason slow_start_reason_with_details = 24;
     */
    slowStartReasonWithDetails: AndroidStartupMetric_SlowStartReason[];
};
/**
 * Describes the message perfetto.protos.AndroidStartupMetric.Startup.
 * Use `create(AndroidStartupMetric_StartupSchema)` to create a new message.
 */
export declare const AndroidStartupMetric_StartupSchema: GenMessage<AndroidStartupMetric_Startup>;
//# sourceMappingURL=startup_metric_pb.d.ts.map