/**
 * Branded integer identifiers for cluster runners. A `MachineId` marks the
 * machine component used by cluster services, especially snowflake id
 * generation, while keeping the value distinct from an ordinary `number` in
 * TypeScript APIs.
 *
 * **Mental model**
 *
 * The runtime value is still a number. The brand documents that the number was
 * assigned as a cluster machine id and lets schemas, storage adapters, and
 * generators agree on the same type.
 *
 * **Common tasks**
 *
 * - Decode persisted runner identities with the {@link MachineId} schema
 * - Brand a trusted numeric id with {@link make}
 * - Pass a runner-specific id to snowflake generation
 *
 * **Gotchas**
 *
 * - Concurrent runners that generate snowflakes need distinct machine ids.
 * - Snowflake ids encode the machine component in 10 bits, so only the value
 *   modulo 1024 is represented there.
 * - {@link make} brands a number without validation; use the schema when input
 *   needs decoding or validation.
 *
 * @since 4.0.0
 */
import * as Schema from "../../Schema.js";
/**
 * Schema for branded integer machine identifiers used by the cluster.
 *
 * @category constructors
 * @since 4.0.0
 */
export const MachineId = /*#__PURE__*/Schema.Int.pipe(/*#__PURE__*/Schema.brand("~effect/cluster/MachineId"), /*#__PURE__*/Schema.annotate({
  toFormatter: () => machineId => `MachineId(${machineId})`
}));
/**
 * Brands a number as a `MachineId`.
 *
 * **When to use**
 *
 * Use to turn a trusted numeric machine id into the branded type when
 * implementing runner storage adapters or configuring snowflake generation.
 *
 * **Details**
 *
 * The branded value is the original number at runtime.
 *
 * **Gotchas**
 *
 * `make` does not validate integer input or enforce the snowflake machine-id
 * range. Snowflake ids encode the machine component modulo 1024.
 *
 * @see {@link MachineId} for the schema that validates branded integer machine identifiers
 *
 * @category constructors
 * @since 4.0.0
 */
export const make = id => id;
//# sourceMappingURL=MachineId.js.map