import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/perfetto/metrics/android/network_metric.proto.
 */
export declare const file_protos_perfetto_metrics_android_network_metric: GenFile;
/**
 * @generated from message perfetto.protos.AndroidNetworkMetric
 */
export type AndroidNetworkMetric = Message<"perfetto.protos.AndroidNetworkMetric"> & {
    /**
     * Network device metrics.
     *
     * @generated from field: repeated perfetto.protos.AndroidNetworkMetric.NetDevice net_devices = 1;
     */
    netDevices: AndroidNetworkMetric_NetDevice[];
    /**
     * SoftIrq NET_RX action metrics.
     *
     * @generated from field: optional perfetto.protos.AndroidNetworkMetric.NetRxAction net_rx_action = 2;
     */
    netRxAction?: AndroidNetworkMetric_NetRxAction;
    /**
     * Packet retransmission rate.
     *
     * @generated from field: optional double retransmission_rate = 3;
     */
    retransmissionRate: number;
    /**
     * Kfree Skb rate (i.e. kfree_skb count divided by the packet count from all
     * net devices).
     *
     * @generated from field: optional double kfree_skb_rate = 4;
     */
    kfreeSkbRate: number;
    /**
     * SoftIrq NET_TX action metrics.
     *
     * @generated from field: optional perfetto.protos.AndroidNetworkMetric.NetTxAction net_tx_action = 5;
     */
    netTxAction?: AndroidNetworkMetric_NetTxAction;
    /**
     * SoftIrq IPI action metrics.
     *
     * @generated from field: optional perfetto.protos.AndroidNetworkMetric.IpiAction ipi_action = 6;
     */
    ipiAction?: AndroidNetworkMetric_IpiAction;
};
/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.
 * Use `create(AndroidNetworkMetricSchema)` to create a new message.
 */
export declare const AndroidNetworkMetricSchema: GenMessage<AndroidNetworkMetric>;
/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.PacketStatistic
 */
export type AndroidNetworkMetric_PacketStatistic = Message<"perfetto.protos.AndroidNetworkMetric.PacketStatistic"> & {
    /**
     * Packet count.
     *
     * @generated from field: optional int64 packets = 1;
     */
    packets: bigint;
    /**
     * Packet Bytes.
     *
     * @generated from field: optional int64 bytes = 2;
     */
    bytes: bigint;
    /**
     * Timestamp when first packet received or transmitted.
     *
     * @generated from field: optional int64 first_packet_timestamp_ns = 3;
     */
    firstPacketTimestampNs: bigint;
    /**
     * Timestamp when last packet received or transmitted.
     *
     * @generated from field: optional int64 last_packet_timestamp_ns = 4;
     */
    lastPacketTimestampNs: bigint;
    /**
     * Interval between first & last packet. The minimum interval is 10ms.
     *
     * @generated from field: optional int64 interval_ns = 5;
     */
    intervalNs: bigint;
    /**
     * Data Speed.
     *
     * @generated from field: optional double data_rate_kbps = 6;
     */
    dataRateKbps: number;
};
/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.PacketStatistic.
 * Use `create(AndroidNetworkMetric_PacketStatisticSchema)` to create a new message.
 */
export declare const AndroidNetworkMetric_PacketStatisticSchema: GenMessage<AndroidNetworkMetric_PacketStatistic>;
/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.CorePacketStatistic
 */
export type AndroidNetworkMetric_CorePacketStatistic = Message<"perfetto.protos.AndroidNetworkMetric.CorePacketStatistic"> & {
    /**
     * @generated from field: optional uint32 id = 1;
     */
    id: number;
    /**
     * @generated from field: optional perfetto.protos.AndroidNetworkMetric.PacketStatistic packet_statistic = 2;
     */
    packetStatistic?: AndroidNetworkMetric_PacketStatistic;
};
/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.CorePacketStatistic.
 * Use `create(AndroidNetworkMetric_CorePacketStatisticSchema)` to create a new message.
 */
export declare const AndroidNetworkMetric_CorePacketStatisticSchema: GenMessage<AndroidNetworkMetric_CorePacketStatistic>;
/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.Rx
 */
export type AndroidNetworkMetric_Rx = Message<"perfetto.protos.AndroidNetworkMetric.Rx"> & {
    /**
     * Total packets statistic.
     *
     * @generated from field: optional perfetto.protos.AndroidNetworkMetric.PacketStatistic total = 1;
     */
    total?: AndroidNetworkMetric_PacketStatistic;
    /**
     * Per core packets statistic.
     *
     * @generated from field: repeated perfetto.protos.AndroidNetworkMetric.CorePacketStatistic core = 2;
     */
    core: AndroidNetworkMetric_CorePacketStatistic[];
    /**
     * GRO aggregation ratio.
     *
     * @generated from field: optional string gro_aggregation_ratio = 3;
     */
    groAggregationRatio: string;
};
/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.Rx.
 * Use `create(AndroidNetworkMetric_RxSchema)` to create a new message.
 */
export declare const AndroidNetworkMetric_RxSchema: GenMessage<AndroidNetworkMetric_Rx>;
/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.Tx
 */
export type AndroidNetworkMetric_Tx = Message<"perfetto.protos.AndroidNetworkMetric.Tx"> & {
    /**
     * Total packets statistic.
     *
     * @generated from field: optional perfetto.protos.AndroidNetworkMetric.PacketStatistic total = 1;
     */
    total?: AndroidNetworkMetric_PacketStatistic;
    /**
     * Per core packets statistic.
     *
     * @generated from field: repeated perfetto.protos.AndroidNetworkMetric.CorePacketStatistic core = 2;
     */
    core: AndroidNetworkMetric_CorePacketStatistic[];
};
/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.Tx.
 * Use `create(AndroidNetworkMetric_TxSchema)` to create a new message.
 */
export declare const AndroidNetworkMetric_TxSchema: GenMessage<AndroidNetworkMetric_Tx>;
/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.NetDevice
 */
export type AndroidNetworkMetric_NetDevice = Message<"perfetto.protos.AndroidNetworkMetric.NetDevice"> & {
    /**
     * Network device name.
     *
     * @generated from field: optional string name = 1;
     */
    name: string;
    /**
     * Ingress traffic statistic.
     *
     * @generated from field: optional perfetto.protos.AndroidNetworkMetric.Rx rx = 2;
     */
    rx?: AndroidNetworkMetric_Rx;
    /**
     * Egress traffic statistic
     *
     * @generated from field: optional perfetto.protos.AndroidNetworkMetric.Tx tx = 3;
     */
    tx?: AndroidNetworkMetric_Tx;
};
/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.NetDevice.
 * Use `create(AndroidNetworkMetric_NetDeviceSchema)` to create a new message.
 */
export declare const AndroidNetworkMetric_NetDeviceSchema: GenMessage<AndroidNetworkMetric_NetDevice>;
/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.NetRxActionStatistic
 */
export type AndroidNetworkMetric_NetRxActionStatistic = Message<"perfetto.protos.AndroidNetworkMetric.NetRxActionStatistic"> & {
    /**
     * SoftIrq NET_RX action count.
     *
     * @generated from field: optional int64 count = 1;
     */
    count: bigint;
    /**
     * SoftIrq NET_RX action was running in millisecond.
     *
     * @generated from field: optional double runtime_ms = 2;
     */
    runtimeMs: number;
    /**
     * SoftIrq NET_RX action average running time.
     *
     * @generated from field: optional double avg_runtime_ms = 3;
     */
    avgRuntimeMs: number;
    /**
     * CPU megacycles (i.e. cycles divided by 1e6).
     *
     * @generated from field: optional int64 mcycles = 4;
     */
    mcycles: bigint;
    /**
     * Average weighted CPU frequency by the time the NET_RX Action
     * running at each frequency.
     *
     * @generated from field: optional int64 avg_freq_khz = 5;
     */
    avgFreqKhz: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.NetRxActionStatistic.
 * Use `create(AndroidNetworkMetric_NetRxActionStatisticSchema)` to create a new message.
 */
export declare const AndroidNetworkMetric_NetRxActionStatisticSchema: GenMessage<AndroidNetworkMetric_NetRxActionStatistic>;
/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.NetTxActionStatistic
 */
export type AndroidNetworkMetric_NetTxActionStatistic = Message<"perfetto.protos.AndroidNetworkMetric.NetTxActionStatistic"> & {
    /**
     * SoftIrq NET_TX action count.
     *
     * @generated from field: optional int64 count = 1;
     */
    count: bigint;
    /**
     * SoftIrq NET_TX action was running in millisecond.
     *
     * @generated from field: optional double runtime_ms = 2;
     */
    runtimeMs: number;
    /**
     * SoftIrq NET_TX action average running time.
     *
     * @generated from field: optional double avg_runtime_ms = 3;
     */
    avgRuntimeMs: number;
    /**
     * CPU megacycles (i.e. cycles divided by 1e6).
     *
     * @generated from field: optional int64 mcycles = 4;
     */
    mcycles: bigint;
    /**
     * Average weighted CPU frequency by the time the NET_TX Action
     * running at each frequency.
     *
     * @generated from field: optional int64 avg_freq_khz = 5;
     */
    avgFreqKhz: bigint;
};
/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.NetTxActionStatistic.
 * Use `create(AndroidNetworkMetric_NetTxActionStatisticSchema)` to create a new message.
 */
export declare const AndroidNetworkMetric_NetTxActionStatisticSchema: GenMessage<AndroidNetworkMetric_NetTxActionStatistic>;
/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.IpiActionStatistic
 */
export type AndroidNetworkMetric_IpiActionStatistic = Message<"perfetto.protos.AndroidNetworkMetric.IpiActionStatistic"> & {
    /**
     * SoftIrq IPI action count.
     *
     * @generated from field: optional int64 count = 1;
     */
    count: bigint;
    /**
     * SoftIrq IPI action was running in millisecond.
     *
     * @generated from field: optional double runtime_ms = 2;
     */
    runtimeMs: number;
    /**
     * SoftIrq IPI action average running time.
     *
     * @generated from field: optional double avg_runtime_ms = 3;
     */
    avgRuntimeMs: number;
};
/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.IpiActionStatistic.
 * Use `create(AndroidNetworkMetric_IpiActionStatisticSchema)` to create a new message.
 */
export declare const AndroidNetworkMetric_IpiActionStatisticSchema: GenMessage<AndroidNetworkMetric_IpiActionStatistic>;
/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.CoreNetRxActionStatistic
 */
export type AndroidNetworkMetric_CoreNetRxActionStatistic = Message<"perfetto.protos.AndroidNetworkMetric.CoreNetRxActionStatistic"> & {
    /**
     * @generated from field: optional uint32 id = 1;
     */
    id: number;
    /**
     * @generated from field: optional perfetto.protos.AndroidNetworkMetric.NetRxActionStatistic net_rx_action_statistic = 2;
     */
    netRxActionStatistic?: AndroidNetworkMetric_NetRxActionStatistic;
};
/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.CoreNetRxActionStatistic.
 * Use `create(AndroidNetworkMetric_CoreNetRxActionStatisticSchema)` to create a new message.
 */
export declare const AndroidNetworkMetric_CoreNetRxActionStatisticSchema: GenMessage<AndroidNetworkMetric_CoreNetRxActionStatistic>;
/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.CoreNetTxActionStatistic
 */
export type AndroidNetworkMetric_CoreNetTxActionStatistic = Message<"perfetto.protos.AndroidNetworkMetric.CoreNetTxActionStatistic"> & {
    /**
     * @generated from field: optional uint32 id = 1;
     */
    id: number;
    /**
     * @generated from field: optional perfetto.protos.AndroidNetworkMetric.NetTxActionStatistic net_tx_action_statistic = 2;
     */
    netTxActionStatistic?: AndroidNetworkMetric_NetTxActionStatistic;
};
/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.CoreNetTxActionStatistic.
 * Use `create(AndroidNetworkMetric_CoreNetTxActionStatisticSchema)` to create a new message.
 */
export declare const AndroidNetworkMetric_CoreNetTxActionStatisticSchema: GenMessage<AndroidNetworkMetric_CoreNetTxActionStatistic>;
/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.NetRxAction
 */
export type AndroidNetworkMetric_NetRxAction = Message<"perfetto.protos.AndroidNetworkMetric.NetRxAction"> & {
    /**
     * Total NET_RX action statistics.
     *
     * @generated from field: optional perfetto.protos.AndroidNetworkMetric.NetRxActionStatistic total = 1;
     */
    total?: AndroidNetworkMetric_NetRxActionStatistic;
    /**
     * Per core NET_RX action statistics.
     *
     * @generated from field: repeated perfetto.protos.AndroidNetworkMetric.CoreNetRxActionStatistic core = 2;
     */
    core: AndroidNetworkMetric_CoreNetRxActionStatistic[];
    /**
     * The average packet time moves through the kernel stack.
     *
     * @generated from field: optional double avg_interstack_latency_ms = 3;
     */
    avgInterstackLatencyMs: number;
};
/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.NetRxAction.
 * Use `create(AndroidNetworkMetric_NetRxActionSchema)` to create a new message.
 */
export declare const AndroidNetworkMetric_NetRxActionSchema: GenMessage<AndroidNetworkMetric_NetRxAction>;
/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.NetTxAction
 */
export type AndroidNetworkMetric_NetTxAction = Message<"perfetto.protos.AndroidNetworkMetric.NetTxAction"> & {
    /**
     * Total NET_TX action statistics.
     *
     * @generated from field: optional perfetto.protos.AndroidNetworkMetric.NetTxActionStatistic total = 1;
     */
    total?: AndroidNetworkMetric_NetTxActionStatistic;
    /**
     * Per core NET_TX action statistics.
     *
     * @generated from field: repeated perfetto.protos.AndroidNetworkMetric.CoreNetTxActionStatistic core = 2;
     */
    core: AndroidNetworkMetric_CoreNetTxActionStatistic[];
};
/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.NetTxAction.
 * Use `create(AndroidNetworkMetric_NetTxActionSchema)` to create a new message.
 */
export declare const AndroidNetworkMetric_NetTxActionSchema: GenMessage<AndroidNetworkMetric_NetTxAction>;
/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.IpiAction
 */
export type AndroidNetworkMetric_IpiAction = Message<"perfetto.protos.AndroidNetworkMetric.IpiAction"> & {
    /**
     * Total IPI action statistics.
     *
     * @generated from field: optional perfetto.protos.AndroidNetworkMetric.IpiActionStatistic total = 1;
     */
    total?: AndroidNetworkMetric_IpiActionStatistic;
};
/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.IpiAction.
 * Use `create(AndroidNetworkMetric_IpiActionSchema)` to create a new message.
 */
export declare const AndroidNetworkMetric_IpiActionSchema: GenMessage<AndroidNetworkMetric_IpiAction>;
//# sourceMappingURL=network_metric_pb.d.ts.map