import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/perfetto/metrics/android/binder_metric.proto.
 */
export declare const file_protos_perfetto_metrics_android_binder_metric: GenFile;
/**
 * This metric provides the following:
 * 1. Per-process Binder statistics for traces with binder_driver enabled.
 *    Specifically, transactions are categorized and counted
 * 2. Unaggregated binder txn durations with per-txn aggregated thread state and
 * blocked function
 *    durations
 *
 * @generated from message perfetto.protos.AndroidBinderMetric
 */
export type AndroidBinderMetric = Message<"perfetto.protos.AndroidBinderMetric"> & {
    /**
     * @generated from field: repeated perfetto.protos.AndroidBinderMetric.PerProcessBreakdown process_breakdown = 1;
     */
    processBreakdown: AndroidBinderMetric_PerProcessBreakdown[];
    /**
     * @generated from field: repeated perfetto.protos.AndroidBinderMetric.UnaggregatedTxnBreakdown unaggregated_txn_breakdown = 2;
     */
    unaggregatedTxnBreakdown: AndroidBinderMetric_UnaggregatedTxnBreakdown[];
};
/**
 * Describes the message perfetto.protos.AndroidBinderMetric.
 * Use `create(AndroidBinderMetricSchema)` to create a new message.
 */
export declare const AndroidBinderMetricSchema: GenMessage<AndroidBinderMetric>;
/**
 * @generated from message perfetto.protos.AndroidBinderMetric.PerProcessBreakdown
 */
export type AndroidBinderMetric_PerProcessBreakdown = Message<"perfetto.protos.AndroidBinderMetric.PerProcessBreakdown"> & {
    /**
     * @generated from field: optional string process_name = 1;
     */
    processName: string;
    /**
     * @generated from field: optional uint32 pid = 2;
     */
    pid: number;
    /**
     * @generated from field: optional string slice_name = 3;
     */
    sliceName: string;
    /**
     * @generated from field: optional uint32 count = 4;
     */
    count: number;
};
/**
 * Describes the message perfetto.protos.AndroidBinderMetric.PerProcessBreakdown.
 * Use `create(AndroidBinderMetric_PerProcessBreakdownSchema)` to create a new message.
 */
export declare const AndroidBinderMetric_PerProcessBreakdownSchema: GenMessage<AndroidBinderMetric_PerProcessBreakdown>;
/**
 * Next field id: 31
 *
 * @generated from message perfetto.protos.AndroidBinderMetric.UnaggregatedTxnBreakdown
 */
export type AndroidBinderMetric_UnaggregatedTxnBreakdown = Message<"perfetto.protos.AndroidBinderMetric.UnaggregatedTxnBreakdown"> & {
    /**
     * General
     *
     * @generated from field: optional string aidl_name = 1;
     */
    aidlName: string;
    /**
     * @generated from field: optional int64 aidl_ts = 22;
     */
    aidlTs: bigint;
    /**
     * @generated from field: optional int64 aidl_dur = 23;
     */
    aidlDur: bigint;
    /**
     * @generated from field: optional bool is_sync = 21;
     */
    isSync: boolean;
    /**
     * @generated from field: optional string client_process = 3;
     */
    clientProcess: string;
    /**
     * @generated from field: optional string client_thread = 4;
     */
    clientThread: string;
    /**
     * @generated from field: optional bool is_main_thread = 5;
     */
    isMainThread: boolean;
    /**
     * @generated from field: optional int64 client_ts = 6;
     */
    clientTs: bigint;
    /**
     * @generated from field: optional int64 client_dur = 7;
     */
    clientDur: bigint;
    /**
     * @generated from field: optional int64 client_monotonic_dur = 28;
     */
    clientMonotonicDur: bigint;
    /**
     * @generated from field: optional int64 client_oom_score = 19;
     */
    clientOomScore: bigint;
    /**
     * @generated from field: optional int64 client_package_version_code = 24;
     */
    clientPackageVersionCode: bigint;
    /**
     * @generated from field: optional bool is_client_package_debuggable = 25;
     */
    isClientPackageDebuggable: boolean;
    /**
     * @generated from field: optional string server_process = 9;
     */
    serverProcess: string;
    /**
     * @generated from field: optional string server_thread = 10;
     */
    serverThread: string;
    /**
     * @generated from field: optional int64 server_ts = 11;
     */
    serverTs: bigint;
    /**
     * @generated from field: optional int64 server_dur = 12;
     */
    serverDur: bigint;
    /**
     * @generated from field: optional int64 server_monotonic_dur = 29;
     */
    serverMonotonicDur: bigint;
    /**
     * @generated from field: optional int64 server_oom_score = 20;
     */
    serverOomScore: bigint;
    /**
     * @generated from field: optional int64 server_package_version_code = 26;
     */
    serverPackageVersionCode: bigint;
    /**
     * @generated from field: optional bool is_server_package_debuggable = 27;
     */
    isServerPackageDebuggable: boolean;
    /**
     * Aggregations
     *
     * @generated from field: repeated perfetto.protos.AndroidBinderMetric.ThreadStateBreakdown thread_states = 13;
     */
    threadStates: AndroidBinderMetric_ThreadStateBreakdown[];
    /**
     * @generated from field: repeated perfetto.protos.AndroidBinderMetric.BlockedFunctionBreakdown blocked_functions = 14;
     */
    blockedFunctions: AndroidBinderMetric_BlockedFunctionBreakdown[];
    /**
     * @generated from field: repeated perfetto.protos.AndroidBinderMetric.LogicalReasonBreakdown logical_reasons = 31;
     */
    logicalReasons: AndroidBinderMetric_LogicalReasonBreakdown[];
    /**
     * @generated from field: optional uint32 client_tid = 15;
     */
    clientTid: number;
    /**
     * @generated from field: optional uint32 server_tid = 16;
     */
    serverTid: number;
    /**
     * @generated from field: optional uint32 client_pid = 17;
     */
    clientPid: number;
    /**
     * @generated from field: optional uint32 server_pid = 18;
     */
    serverPid: number;
};
/**
 * Describes the message perfetto.protos.AndroidBinderMetric.UnaggregatedTxnBreakdown.
 * Use `create(AndroidBinderMetric_UnaggregatedTxnBreakdownSchema)` to create a new message.
 */
export declare const AndroidBinderMetric_UnaggregatedTxnBreakdownSchema: GenMessage<AndroidBinderMetric_UnaggregatedTxnBreakdown>;
/**
 * @generated from message perfetto.protos.AndroidBinderMetric.ThreadStateBreakdown
 */
export type AndroidBinderMetric_ThreadStateBreakdown = Message<"perfetto.protos.AndroidBinderMetric.ThreadStateBreakdown"> & {
    /**
     * @generated from field: optional string thread_state_type = 1;
     */
    threadStateType: string;
    /**
     * @generated from field: optional string thread_state = 2;
     */
    threadState: string;
    /**
     * @generated from field: optional int64 thread_state_dur = 3;
     */
    threadStateDur: bigint;
    /**
     * @generated from field: optional int64 thread_state_count = 4;
     */
    threadStateCount: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidBinderMetric.ThreadStateBreakdown.
 * Use `create(AndroidBinderMetric_ThreadStateBreakdownSchema)` to create a new message.
 */
export declare const AndroidBinderMetric_ThreadStateBreakdownSchema: GenMessage<AndroidBinderMetric_ThreadStateBreakdown>;
/**
 * @generated from message perfetto.protos.AndroidBinderMetric.BlockedFunctionBreakdown
 */
export type AndroidBinderMetric_BlockedFunctionBreakdown = Message<"perfetto.protos.AndroidBinderMetric.BlockedFunctionBreakdown"> & {
    /**
     * @generated from field: optional string thread_state_type = 1;
     */
    threadStateType: string;
    /**
     * @generated from field: optional string blocked_function = 2;
     */
    blockedFunction: string;
    /**
     * @generated from field: optional int64 blocked_function_dur = 3;
     */
    blockedFunctionDur: bigint;
    /**
     * @generated from field: optional int64 blocked_function_count = 4;
     */
    blockedFunctionCount: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidBinderMetric.BlockedFunctionBreakdown.
 * Use `create(AndroidBinderMetric_BlockedFunctionBreakdownSchema)` to create a new message.
 */
export declare const AndroidBinderMetric_BlockedFunctionBreakdownSchema: GenMessage<AndroidBinderMetric_BlockedFunctionBreakdown>;
/**
 * @generated from message perfetto.protos.AndroidBinderMetric.LogicalReasonBreakdown
 */
export type AndroidBinderMetric_LogicalReasonBreakdown = Message<"perfetto.protos.AndroidBinderMetric.LogicalReasonBreakdown"> & {
    /**
     * @generated from field: optional string thread_state_type = 1;
     */
    threadStateType: string;
    /**
     * @generated from field: optional string reason = 2;
     */
    reason: string;
    /**
     * @generated from field: optional int64 reason_dur = 3;
     */
    reasonDur: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidBinderMetric.LogicalReasonBreakdown.
 * Use `create(AndroidBinderMetric_LogicalReasonBreakdownSchema)` to create a new message.
 */
export declare const AndroidBinderMetric_LogicalReasonBreakdownSchema: GenMessage<AndroidBinderMetric_LogicalReasonBreakdown>;
//# sourceMappingURL=binder_metric_pb.d.ts.map