import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/perfetto/metrics/android/hwcomposer.proto.
 */
export declare const file_protos_perfetto_metrics_android_hwcomposer: GenFile;
/**
 * @generated from message perfetto.protos.AndroidHwcomposerMetrics
 */
export type AndroidHwcomposerMetrics = Message<"perfetto.protos.AndroidHwcomposerMetrics"> & {
    /**
     * Counts the number of composition total layers in the trace. (non-weighted average)
     *
     * @generated from field: optional double composition_total_layers = 1;
     */
    compositionTotalLayers: number;
    /**
     * Counts the number of composition dpu layers in the trace. (non-weighted average)
     *
     * @generated from field: optional double composition_dpu_layers = 2;
     */
    compositionDpuLayers: number;
    /**
     * Counts the number of composition gpu layers in the trace. (non-weighted average)
     *
     * @generated from field: optional double composition_gpu_layers = 3;
     */
    compositionGpuLayers: number;
    /**
     * Counts the number of composition dpu cached layers in the trace. (non-weighted average)
     *
     * @generated from field: optional double composition_dpu_cached_layers = 4;
     */
    compositionDpuCachedLayers: number;
    /**
     * Counts the number of composition surfaceflinger cached layers in the trace.
     * (non-weighted average)
     *
     * @generated from field: optional double composition_sf_cached_layers = 5;
     */
    compositionSfCachedLayers: number;
    /**
     * Counts the number of composition rounded corner decoration layers in the trace.
     * (non-weighted average)
     *
     * @generated from field: optional double composition_rcd_layers = 15;
     */
    compositionRcdLayers: number;
    /**
     * Counts how many times validateDisplay is skipped.
     *
     * @generated from field: optional int32 skipped_validation_count = 6;
     */
    skippedValidationCount: number;
    /**
     * Counts how many times validateDisplay cannot be skipped.
     *
     * @generated from field: optional int32 unskipped_validation_count = 7;
     */
    unskippedValidationCount: number;
    /**
     * Counts how many times validateDisplay is already separated from presentDisplay
     * since the beginning.
     *
     * @generated from field: optional int32 separated_validation_count = 8;
     */
    separatedValidationCount: number;
    /**
     * Counts how many unhandled validation cases which might be caused by errors.
     *
     * @generated from field: optional int32 unknown_validation_count = 9;
     */
    unknownValidationCount: number;
    /**
     * the average of overall hwcomposer execution time.
     *
     * @generated from field: optional double avg_all_execution_time_ms = 10;
     */
    avgAllExecutionTimeMs: number;
    /**
     * the average of hwcomposer execution time for skipped validation cases.
     *
     * @generated from field: optional double avg_skipped_execution_time_ms = 11;
     */
    avgSkippedExecutionTimeMs: number;
    /**
     * the average of hwcomposer execution time for unskipped validation cases.
     *
     * @generated from field: optional double avg_unskipped_execution_time_ms = 12;
     */
    avgUnskippedExecutionTimeMs: number;
    /**
     * the average of hwcomposer execution time for separated validation cases.
     *
     * @generated from field: optional double avg_separated_execution_time_ms = 13;
     */
    avgSeparatedExecutionTimeMs: number;
    /**
     * DPU Vote Metrics for each thread track
     *
     * @generated from field: repeated perfetto.protos.AndroidHwcomposerMetrics.DpuVoteMetrics dpu_vote_metrics = 14;
     */
    dpuVoteMetrics: AndroidHwcomposerMetrics_DpuVoteMetrics[];
    /**
     * @generated from field: repeated perfetto.protos.AndroidHwcomposerMetrics.MetricsPerDisplay metrics_per_display = 16;
     */
    metricsPerDisplay: AndroidHwcomposerMetrics_MetricsPerDisplay[];
};
/**
 * Describes the message perfetto.protos.AndroidHwcomposerMetrics.
 * Use `create(AndroidHwcomposerMetricsSchema)` to create a new message.
 */
export declare const AndroidHwcomposerMetricsSchema: GenMessage<AndroidHwcomposerMetrics>;
/**
 * @generated from message perfetto.protos.AndroidHwcomposerMetrics.DpuVoteMetrics
 */
export type AndroidHwcomposerMetrics_DpuVoteMetrics = Message<"perfetto.protos.AndroidHwcomposerMetrics.DpuVoteMetrics"> & {
    /**
     * the thread ID that handles this track
     *
     * @generated from field: optional uint32 tid = 1;
     */
    tid: number;
    /**
     * the weighted average of DPU Vote Clock
     *
     * @generated from field: optional double avg_dpu_vote_clock = 2;
     */
    avgDpuVoteClock: number;
    /**
     * the weighted average of DPU Vote Avg Bandwidth
     *
     * @generated from field: optional double avg_dpu_vote_avg_bw = 3;
     */
    avgDpuVoteAvgBw: number;
    /**
     * the weighted average of DPU Vote Peak Bandwidth
     *
     * @generated from field: optional double avg_dpu_vote_peak_bw = 4;
     */
    avgDpuVotePeakBw: number;
    /**
     * the weighted average of DPU Vote RT (Real Time) Bandwidth
     *
     * @generated from field: optional double avg_dpu_vote_rt_bw = 5;
     */
    avgDpuVoteRtBw: number;
};
/**
 * Describes the message perfetto.protos.AndroidHwcomposerMetrics.DpuVoteMetrics.
 * Use `create(AndroidHwcomposerMetrics_DpuVoteMetricsSchema)` to create a new message.
 */
export declare const AndroidHwcomposerMetrics_DpuVoteMetricsSchema: GenMessage<AndroidHwcomposerMetrics_DpuVoteMetrics>;
/**
 * @generated from message perfetto.protos.AndroidHwcomposerMetrics.MetricsPerDisplay
 */
export type AndroidHwcomposerMetrics_MetricsPerDisplay = Message<"perfetto.protos.AndroidHwcomposerMetrics.MetricsPerDisplay"> & {
    /**
     * Display ID in HWC
     *
     * @generated from field: optional string display_id = 1;
     */
    displayId: string;
    /**
     * Counts the number of composition total layers in the trace. (non-weighted average)
     *
     * @generated from field: optional double composition_total_layers = 2;
     */
    compositionTotalLayers: number;
    /**
     * Counts the number of composition dpu layers in the trace. (non-weighted average)
     *
     * @generated from field: optional double composition_dpu_layers = 3;
     */
    compositionDpuLayers: number;
    /**
     * Counts the number of composition gpu layers in the trace. (non-weighted average)
     *
     * @generated from field: optional double composition_gpu_layers = 4;
     */
    compositionGpuLayers: number;
    /**
     * Counts the number of composition dpu cached layers in the trace. (non-weighted average)
     *
     * @generated from field: optional double composition_dpu_cached_layers = 5;
     */
    compositionDpuCachedLayers: number;
    /**
     * Counts the number of composition surfaceflinger cached layers in the trace.
     * (non-weighted average)
     *
     * @generated from field: optional double composition_sf_cached_layers = 6;
     */
    compositionSfCachedLayers: number;
    /**
     * Counts the number of composition rounded corner decoration layers in the trace.
     * (non-weighted average)
     *
     * @generated from field: optional double composition_rcd_layers = 7;
     */
    compositionRcdLayers: number;
    /**
     * Counts how many times validateDisplay is skipped.
     *
     * @generated from field: optional int32 skipped_validation_count = 8;
     */
    skippedValidationCount: number;
    /**
     * Counts how many times validateDisplay cannot be skipped.
     *
     * @generated from field: optional int32 unskipped_validation_count = 9;
     */
    unskippedValidationCount: number;
    /**
     * Counts how many times validateDisplay is already separated from presentDisplay
     * since the beginning.
     *
     * @generated from field: optional int32 separated_validation_count = 10;
     */
    separatedValidationCount: number;
    /**
     * Counts how many unhandled validation cases which might be caused by errors.
     *
     * @generated from field: optional int32 unknown_validation_count = 11;
     */
    unknownValidationCount: number;
    /**
     * the average of overall hwcomposer execution time.
     *
     * @generated from field: optional double avg_all_execution_time_ms = 12;
     */
    avgAllExecutionTimeMs: number;
    /**
     * the average of hwcomposer execution time for skipped validation cases.
     *
     * @generated from field: optional double avg_skipped_execution_time_ms = 13;
     */
    avgSkippedExecutionTimeMs: number;
    /**
     * the average of hwcomposer execution time for unskipped validation cases.
     *
     * @generated from field: optional double avg_unskipped_execution_time_ms = 14;
     */
    avgUnskippedExecutionTimeMs: number;
    /**
     * the average of hwcomposer execution time for separated validation cases.
     *
     * @generated from field: optional double avg_separated_execution_time_ms = 15;
     */
    avgSeparatedExecutionTimeMs: number;
};
/**
 * Describes the message perfetto.protos.AndroidHwcomposerMetrics.MetricsPerDisplay.
 * Use `create(AndroidHwcomposerMetrics_MetricsPerDisplaySchema)` to create a new message.
 */
export declare const AndroidHwcomposerMetrics_MetricsPerDisplaySchema: GenMessage<AndroidHwcomposerMetrics_MetricsPerDisplay>;
//# sourceMappingURL=hwcomposer_pb.d.ts.map