import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { DataSourceDescriptor } from "./data_source_descriptor_pb";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/perfetto/common/tracing_service_state.proto.
 */
export declare const file_protos_perfetto_common_tracing_service_state: GenFile;
/**
 * Reports the state of the tracing service. Used to gather details about the
 * data sources connected.
 * See ConsumerPort::QueryServiceState().
 *
 * @generated from message perfetto.protos.TracingServiceState
 */
export type TracingServiceState = Message<"perfetto.protos.TracingServiceState"> & {
    /**
     * Lists all the producers connected.
     *
     * @generated from field: repeated perfetto.protos.TracingServiceState.Producer producers = 1;
     */
    producers: TracingServiceState_Producer[];
    /**
     * Lists the data sources available.
     *
     * @generated from field: repeated perfetto.protos.TracingServiceState.DataSource data_sources = 2;
     */
    dataSources: TracingServiceState_DataSource[];
    /**
     * Lists the tracing sessions active AND owned by a consumer that has the same
     * UID of the caller (or all of them if the caller is root).
     * Introduced in v24 / Android T.
     *
     * @generated from field: repeated perfetto.protos.TracingServiceState.TracingSession tracing_sessions = 6;
     */
    tracingSessions: TracingServiceState_TracingSession[];
    /**
     * This is always set to true from v24 and beyond. This flag is only used to
     * tell the difference between: (1) talking to a recent service which happens
     * to have no tracing session active; (2) talking to an older version of the
     * service which will never report any tracing session.
     *
     * @generated from field: optional bool supports_tracing_sessions = 7;
     */
    supportsTracingSessions: boolean;
    /**
     * Total number of tracing sessions.
     *
     * @generated from field: optional int32 num_sessions = 3;
     */
    numSessions: number;
    /**
     * Number of tracing sessions in the started state. Always <= num_sessions.
     *
     * @generated from field: optional int32 num_sessions_started = 4;
     */
    numSessionsStarted: number;
    /**
     * The version of traced (the same returned by `traced --version`).
     * This is a human readable string with and its format varies depending on
     * the build system and the repo (standalone vs AOSP).
     * This is intended for human debugging only.
     *
     * @generated from field: optional string tracing_service_version = 5;
     */
    tracingServiceVersion: string;
};
/**
 * Describes the message perfetto.protos.TracingServiceState.
 * Use `create(TracingServiceStateSchema)` to create a new message.
 */
export declare const TracingServiceStateSchema: GenMessage<TracingServiceState>;
/**
 * Describes a producer process.
 *
 * @generated from message perfetto.protos.TracingServiceState.Producer
 */
export type TracingServiceState_Producer = Message<"perfetto.protos.TracingServiceState.Producer"> & {
    /**
     * Unique ID of the producer (monotonic counter).
     *
     * @generated from field: optional int32 id = 1;
     */
    id: number;
    /**
     * Typically matches the process name.
     *
     * @generated from field: optional string name = 2;
     */
    name: string;
    /**
     * Unix pid of the remote process. Supported only on Linux-based systems.
     * Introduced in v24 / Android T.
     *
     * @generated from field: optional int32 pid = 5;
     */
    pid: number;
    /**
     * Unix uid of the remote process.
     *
     * @generated from field: optional int32 uid = 3;
     */
    uid: number;
    /**
     * The version of the client library used by the producer.
     * This is a human readable string with and its format varies depending on
     * the build system and the repo (standalone vs AOSP).
     * This is intended for human debugging only.
     *
     * @generated from field: optional string sdk_version = 4;
     */
    sdkVersion: string;
    /**
     * Returns true if the process appears to be frozen (Android only).
     * Introduced in Perfetto V49 / Android 24Q4.
     *
     * @generated from field: optional bool frozen = 6;
     */
    frozen: boolean;
};
/**
 * Describes the message perfetto.protos.TracingServiceState.Producer.
 * Use `create(TracingServiceState_ProducerSchema)` to create a new message.
 */
export declare const TracingServiceState_ProducerSchema: GenMessage<TracingServiceState_Producer>;
/**
 * Describes a data source registered by a producer. Data sources are listed
 * regardless of the fact that they are being used or not.
 *
 * @generated from message perfetto.protos.TracingServiceState.DataSource
 */
export type TracingServiceState_DataSource = Message<"perfetto.protos.TracingServiceState.DataSource"> & {
    /**
     * Descriptor passed by the data source when calling RegisterDataSource().
     *
     * @generated from field: optional perfetto.protos.DataSourceDescriptor ds_descriptor = 1;
     */
    dsDescriptor?: DataSourceDescriptor;
    /**
     * ID of the producer, as per Producer.id.
     *
     * @generated from field: optional int32 producer_id = 2;
     */
    producerId: number;
};
/**
 * Describes the message perfetto.protos.TracingServiceState.DataSource.
 * Use `create(TracingServiceState_DataSourceSchema)` to create a new message.
 */
export declare const TracingServiceState_DataSourceSchema: GenMessage<TracingServiceState_DataSource>;
/**
 * @generated from message perfetto.protos.TracingServiceState.TracingSession
 */
export type TracingServiceState_TracingSession = Message<"perfetto.protos.TracingServiceState.TracingSession"> & {
    /**
     * The TracingSessionID.
     *
     * @generated from field: optional uint64 id = 1;
     */
    id: bigint;
    /**
     * The Unix uid of the consumer that started the session.
     * This is meaningful only if the caller is root. In all other cases only
     * tracing sessions that match the caller UID will be displayed.
     *
     * @generated from field: optional int32 consumer_uid = 2;
     */
    consumerUid: number;
    /**
     * Internal state of the tracing session.
     * These strings are FYI only and subjected to change.
     *
     * @generated from field: optional string state = 3;
     */
    state: string;
    /**
     * The unique_session_name as set in the trace config (might be empty).
     *
     * @generated from field: optional string unique_session_name = 4;
     */
    uniqueSessionName: string;
    /**
     * The number and size of each buffer.
     *
     * @generated from field: repeated uint32 buffer_size_kb = 5;
     */
    bufferSizeKb: number[];
    /**
     * Duration, as specified in the TraceConfig.duration_ms.
     *
     * @generated from field: optional uint32 duration_ms = 6;
     */
    durationMs: number;
    /**
     * Number of data sources involved in the session.
     *
     * @generated from field: optional uint32 num_data_sources = 7;
     */
    numDataSources: number;
    /**
     * Time when the session was started, in the CLOCK_REALTIME domain.
     * Available only on Linux-based systems.
     *
     * @generated from field: optional int64 start_realtime_ns = 8;
     */
    startRealtimeNs: bigint;
    /**
     * The bugreport_score, as set in TraceConfig.bugreport_score.
     *
     * @generated from field: optional int32 bugreport_score = 9;
     */
    bugreportScore: number;
    /**
     * As per TraceConfig.bugreport_filename.
     *
     * @generated from field: optional string bugreport_filename = 10;
     */
    bugreportFilename: string;
    /**
     * If true, the session is in the STARTED state. If false the session is in
     * any other state (see `state` field).
     *
     * @generated from field: optional bool is_started = 11;
     */
    isStarted: boolean;
};
/**
 * Describes the message perfetto.protos.TracingServiceState.TracingSession.
 * Use `create(TracingServiceState_TracingSessionSchema)` to create a new message.
 */
export declare const TracingServiceState_TracingSessionSchema: GenMessage<TracingServiceState_TracingSession>;
//# sourceMappingURL=tracing_service_state_pb.d.ts.map