import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/perfetto/metrics/android/surfaceflinger.proto.
 */
export declare const file_protos_perfetto_metrics_android_surfaceflinger: GenFile;
/**
 * @generated from message perfetto.protos.AndroidSurfaceflingerMetric
 */
export type AndroidSurfaceflingerMetric = Message<"perfetto.protos.AndroidSurfaceflingerMetric"> & {
    /**
     * Counts the number of missed frames in the trace.
     *
     * @generated from field: optional uint32 missed_frames = 1;
     */
    missedFrames: number;
    /**
     * Counts the number of missed HWC frames in the trace.
     *
     * @generated from field: optional uint32 missed_hwc_frames = 2;
     */
    missedHwcFrames: number;
    /**
     * Counts the number of missed GPU frames in the trace.
     *
     * @generated from field: optional uint32 missed_gpu_frames = 3;
     */
    missedGpuFrames: number;
    /**
     * Calculate the number of missed frames divided by
     * total frames
     *
     * @generated from field: optional double missed_frame_rate = 4;
     */
    missedFrameRate: number;
    /**
     * Calculate the number of missed HWC frames divided by
     * total HWC frames
     *
     * @generated from field: optional double missed_hwc_frame_rate = 5;
     */
    missedHwcFrameRate: number;
    /**
     * Calculate the number of missed GPU frames divided by
     * total GPU frames
     *
     * @generated from field: optional double missed_gpu_frame_rate = 6;
     */
    missedGpuFrameRate: number;
    /**
     * Count the number of times SurfaceFlinger needs to invoke GPU
     * for rendering some layers
     *
     * @generated from field: optional uint32 gpu_invocations = 7;
     */
    gpuInvocations: number;
    /**
     * Calculate the average duration of GPU request by SurfaceFlinger
     * since it enters the FenceMonitor's queue until it gets completed
     *
     * @generated from field: optional double avg_gpu_waiting_dur_ms = 8;
     */
    avgGpuWaitingDurMs: number;
    /**
     * Calculate the total duration when there is at least one GPU request
     * by SurfaceFlinger that is still waiting for GPU to complete the
     * request.
     * This also equals to the total duration of
     * "waiting for GPU completion <fence_num>" in SurfaceFlinger.
     *
     * @generated from field: optional double total_non_empty_gpu_waiting_dur_ms = 9;
     */
    totalNonEmptyGpuWaitingDurMs: number;
    /**
     * @generated from field: repeated perfetto.protos.AndroidSurfaceflingerMetric.MetricsPerDisplay metrics_per_display = 10;
     */
    metricsPerDisplay: AndroidSurfaceflingerMetric_MetricsPerDisplay[];
};
/**
 * Describes the message perfetto.protos.AndroidSurfaceflingerMetric.
 * Use `create(AndroidSurfaceflingerMetricSchema)` to create a new message.
 */
export declare const AndroidSurfaceflingerMetricSchema: GenMessage<AndroidSurfaceflingerMetric>;
/**
 * @generated from message perfetto.protos.AndroidSurfaceflingerMetric.MetricsPerDisplay
 */
export type AndroidSurfaceflingerMetric_MetricsPerDisplay = Message<"perfetto.protos.AndroidSurfaceflingerMetric.MetricsPerDisplay"> & {
    /**
     * Display ID in SF
     *
     * @generated from field: optional string display_id = 1;
     */
    displayId: string;
    /**
     * Counts the number of missed frames in the trace.
     *
     * @generated from field: optional uint32 missed_frames = 2;
     */
    missedFrames: number;
    /**
     * Counts the number of missed HWC frames in the trace.
     *
     * @generated from field: optional uint32 missed_hwc_frames = 3;
     */
    missedHwcFrames: number;
    /**
     * Counts the number of missed GPU frames in the trace.
     *
     * @generated from field: optional uint32 missed_gpu_frames = 4;
     */
    missedGpuFrames: number;
    /**
     * Calculate the number of missed frames divided by
     * total frames
     *
     * @generated from field: optional double missed_frame_rate = 5;
     */
    missedFrameRate: number;
    /**
     * Calculate the number of missed HWC frames divided by
     * total HWC frames
     *
     * @generated from field: optional double missed_hwc_frame_rate = 6;
     */
    missedHwcFrameRate: number;
    /**
     * Calculate the number of missed GPU frames divided by
     * total GPU frames
     *
     * @generated from field: optional double missed_gpu_frame_rate = 7;
     */
    missedGpuFrameRate: number;
};
/**
 * Describes the message perfetto.protos.AndroidSurfaceflingerMetric.MetricsPerDisplay.
 * Use `create(AndroidSurfaceflingerMetric_MetricsPerDisplaySchema)` to create a new message.
 */
export declare const AndroidSurfaceflingerMetric_MetricsPerDisplaySchema: GenMessage<AndroidSurfaceflingerMetric_MetricsPerDisplay>;
//# sourceMappingURL=surfaceflinger_pb.d.ts.map