import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { BuiltinClock } from "../common/builtin_clock_pb";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/perfetto/trace/clock_snapshot.proto.
 */
export declare const file_protos_perfetto_trace_clock_snapshot: GenFile;
/**
 * A snapshot of clock readings to allow for trace alignment.
 *
 * @generated from message perfetto.protos.ClockSnapshot
 */
export type ClockSnapshot = Message<"perfetto.protos.ClockSnapshot"> & {
    /**
     * @generated from field: repeated perfetto.protos.ClockSnapshot.Clock clocks = 1;
     */
    clocks: ClockSnapshot_Clock[];
    /**
     * The authoritative clock domain for the trace. Defaults to BOOTTIME, but can
     * be overridden in TraceConfig's builtin_data_sources. Trace processor will
     * attempt to translate packet/event timestamps from various data sources (and
     * their chosen clock domains) to this domain during import.
     *
     * @generated from field: optional perfetto.protos.BuiltinClock primary_trace_clock = 2;
     */
    primaryTraceClock: BuiltinClock;
};
/**
 * Describes the message perfetto.protos.ClockSnapshot.
 * Use `create(ClockSnapshotSchema)` to create a new message.
 */
export declare const ClockSnapshotSchema: GenMessage<ClockSnapshot>;
/**
 * @generated from message perfetto.protos.ClockSnapshot.Clock
 */
export type ClockSnapshot_Clock = Message<"perfetto.protos.ClockSnapshot.Clock"> & {
    /**
     * Clock IDs have the following semantic:
     * [1, 63]:    Builtin types, see BuiltinClock from
     *             ../common/builtin_clock.proto.
     * [64, 127]:  User-defined clocks. These clocks are sequence-scoped. They
     *             are only valid within the same |trusted_packet_sequence_id|
     *             (i.e. only for TracePacket(s) emitted by the same TraceWriter
     *             that emitted the clock snapshot).
     * [128, MAX]: Reserved for future use. The idea is to allow global clock
     *             IDs and setting this ID to hash(full_clock_name) & ~127.
     *
     * @generated from field: optional uint32 clock_id = 1;
     */
    clockId: number;
    /**
     * Absolute timestamp. Unit is ns unless specified otherwise by the
     * unit_multiplier_ns field below.
     *
     * @generated from field: optional uint64 timestamp = 2;
     */
    timestamp: bigint;
    /**
     * When true each TracePacket's timestamp should be interpreted as a delta
     * from the last TracePacket's timestamp (referencing this clock) emitted by
     * the same packet_sequence_id. Should only be used for user-defined
     * sequence-local clocks. The first packet timestamp after each
     * ClockSnapshot that contains this clock is relative to the |timestamp| in
     * the ClockSnapshot.
     *
     * @generated from field: optional bool is_incremental = 3;
     */
    isIncremental: boolean;
    /**
     * Allows to specify a custom unit different than the default (ns) for this
     * clock domain. A multiplier of 1000 means that a timestamp = 3 should be
     * interpreted as 3000 ns = 3 us. All snapshots for the same clock within a
     * trace need to use the same unit.
     *
     * @generated from field: optional uint64 unit_multiplier_ns = 4;
     */
    unitMultiplierNs: bigint;
};
/**
 * Describes the message perfetto.protos.ClockSnapshot.Clock.
 * Use `create(ClockSnapshot_ClockSchema)` to create a new message.
 */
export declare const ClockSnapshot_ClockSchema: GenMessage<ClockSnapshot_Clock>;
/**
 * DEPRECATED. This enum has moved to ../common/builtin_clock.proto.
 *
 * @generated from enum perfetto.protos.ClockSnapshot.Clock.BuiltinClocks
 */
export declare enum ClockSnapshot_Clock_BuiltinClocks {
    /**
     * @generated from enum value: UNKNOWN = 0;
     */
    UNKNOWN = 0,
    /**
     * @generated from enum value: REALTIME = 1;
     */
    REALTIME = 1,
    /**
     * @generated from enum value: REALTIME_COARSE = 2;
     */
    REALTIME_COARSE = 2,
    /**
     * @generated from enum value: MONOTONIC = 3;
     */
    MONOTONIC = 3,
    /**
     * @generated from enum value: MONOTONIC_COARSE = 4;
     */
    MONOTONIC_COARSE = 4,
    /**
     * @generated from enum value: MONOTONIC_RAW = 5;
     */
    MONOTONIC_RAW = 5,
    /**
     * @generated from enum value: BOOTTIME = 6;
     */
    BOOTTIME = 6,
    /**
     * @generated from enum value: BUILTIN_CLOCK_MAX_ID = 63;
     */
    BUILTIN_CLOCK_MAX_ID = 63
}
/**
 * Describes the enum perfetto.protos.ClockSnapshot.Clock.BuiltinClocks.
 */
export declare const ClockSnapshot_Clock_BuiltinClocksSchema: GenEnum<ClockSnapshot_Clock_BuiltinClocks>;
//# sourceMappingURL=clock_snapshot_pb.d.ts.map