import type { 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/android_frame_timeline_metric.proto.
 */
export declare const file_protos_perfetto_metrics_android_android_frame_timeline_metric: GenFile;
/**
 * @generated from message perfetto.protos.AndroidFrameTimelineMetric
 */
export type AndroidFrameTimelineMetric = Message<"perfetto.protos.AndroidFrameTimelineMetric"> & {
    /**
     * @generated from field: optional int64 total_frames = 4;
     */
    totalFrames: bigint;
    /**
     * @generated from field: optional int64 missed_app_frames = 5;
     */
    missedAppFrames: bigint;
    /**
     * @generated from field: optional int64 dropped_frames = 6;
     */
    droppedFrames: bigint;
    /**
     * @generated from field: repeated perfetto.protos.AndroidFrameTimelineMetric.ProcessBreakdown process = 2;
     */
    process: AndroidFrameTimelineMetric_ProcessBreakdown[];
    /**
     * Metrics for each jank type globally
     *
     * @generated from field: repeated perfetto.protos.AndroidFrameTimelineMetric.JankTypeMetric jank_types = 7;
     */
    jankTypes: AndroidFrameTimelineMetric_JankTypeMetric[];
};
/**
 * Describes the message perfetto.protos.AndroidFrameTimelineMetric.
 * Use `create(AndroidFrameTimelineMetricSchema)` to create a new message.
 */
export declare const AndroidFrameTimelineMetricSchema: GenMessage<AndroidFrameTimelineMetric>;
/**
 * @generated from message perfetto.protos.AndroidFrameTimelineMetric.JankTypeMetric
 */
export type AndroidFrameTimelineMetric_JankTypeMetric = Message<"perfetto.protos.AndroidFrameTimelineMetric.JankTypeMetric"> & {
    /**
     * The jank type
     *
     * @generated from field: optional string type = 1;
     */
    type: string;
    /**
     * The count of frames with this jank type
     *
     * @generated from field: optional int64 total_count = 2;
     */
    totalCount: bigint;
    /**
     * The count of frames with this jank type and present type = PRESENT_UNSPECIFIED
     *
     * @generated from field: optional int64 present_unspecified_count = 3;
     */
    presentUnspecifiedCount: bigint;
    /**
     * The count of frames with this jank type and present type = PRESENT_ON_TIME
     *
     * @generated from field: optional int64 present_on_time_count = 4;
     */
    presentOnTimeCount: bigint;
    /**
     * The count of frames with this jank type and present type = PRESENT_LATE
     *
     * @generated from field: optional int64 present_late_count = 5;
     */
    presentLateCount: bigint;
    /**
     * The count of frames with this jank type and present type = PRESENT_EARLY
     *
     * @generated from field: optional int64 present_early_count = 6;
     */
    presentEarlyCount: bigint;
    /**
     * The count of frames with this jank type and present type = PRESENT_DROPPED
     *
     * @generated from field: optional int64 present_dropped_count = 7;
     */
    presentDroppedCount: bigint;
    /**
     * The count of frames with this jank type and present type = PRESENT_UNKNOWN
     *
     * @generated from field: optional int64 present_unknown_count = 8;
     */
    presentUnknownCount: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidFrameTimelineMetric.JankTypeMetric.
 * Use `create(AndroidFrameTimelineMetric_JankTypeMetricSchema)` to create a new message.
 */
export declare const AndroidFrameTimelineMetric_JankTypeMetricSchema: GenMessage<AndroidFrameTimelineMetric_JankTypeMetric>;
/**
 * @generated from message perfetto.protos.AndroidFrameTimelineMetric.ProcessBreakdown
 */
export type AndroidFrameTimelineMetric_ProcessBreakdown = Message<"perfetto.protos.AndroidFrameTimelineMetric.ProcessBreakdown"> & {
    /**
     * @generated from field: optional perfetto.protos.AndroidProcessMetadata process = 3;
     */
    process?: AndroidProcessMetadata;
    /**
     * @generated from field: optional int64 total_frames = 4;
     */
    totalFrames: bigint;
    /**
     * @generated from field: optional int64 missed_frames = 5;
     */
    missedFrames: bigint;
    /**
     * @generated from field: optional int64 missed_app_frames = 6;
     */
    missedAppFrames: bigint;
    /**
     * @generated from field: optional int64 missed_sf_frames = 7;
     */
    missedSfFrames: bigint;
    /**
     * @generated from field: optional int64 frame_dur_max = 8;
     */
    frameDurMax: bigint;
    /**
     * @generated from field: optional int64 frame_dur_avg = 9;
     */
    frameDurAvg: bigint;
    /**
     * @generated from field: optional int64 frame_dur_p50 = 10;
     */
    frameDurP50: bigint;
    /**
     * @generated from field: optional int64 frame_dur_p90 = 11;
     */
    frameDurP90: bigint;
    /**
     * @generated from field: optional int64 frame_dur_p95 = 12;
     */
    frameDurP95: bigint;
    /**
     * @generated from field: optional int64 frame_dur_p99 = 13;
     */
    frameDurP99: bigint;
    /**
     * @generated from field: optional double frame_dur_ms_p50 = 14;
     */
    frameDurMsP50: number;
    /**
     * @generated from field: optional double frame_dur_ms_p90 = 15;
     */
    frameDurMsP90: number;
    /**
     * @generated from field: optional double frame_dur_ms_p95 = 16;
     */
    frameDurMsP95: number;
    /**
     * @generated from field: optional double frame_dur_ms_p99 = 17;
     */
    frameDurMsP99: number;
    /**
     * @generated from field: optional int64 dropped_frames = 18;
     */
    droppedFrames: bigint;
    /**
     * Metrics for each jank type in this process
     *
     * @generated from field: repeated perfetto.protos.AndroidFrameTimelineMetric.JankTypeMetric jank_types = 19;
     */
    jankTypes: AndroidFrameTimelineMetric_JankTypeMetric[];
};
/**
 * Describes the message perfetto.protos.AndroidFrameTimelineMetric.ProcessBreakdown.
 * Use `create(AndroidFrameTimelineMetric_ProcessBreakdownSchema)` to create a new message.
 */
export declare const AndroidFrameTimelineMetric_ProcessBreakdownSchema: GenMessage<AndroidFrameTimelineMetric_ProcessBreakdown>;
//# sourceMappingURL=android_frame_timeline_metric_pb.d.ts.map