/**
 * Sortable unique identifiers for swarm entities.
 *
 * Every long-lived thing the swarm names — tickets, envelopes, channels,
 * leases — gets an id from here. We use ULIDs rather than a monotonic
 * high-water-mark counter: a ULID is lexicographically sortable by creation
 * time (its leading 48 bits are a millisecond timestamp), globally unique
 * without coordination, and needs no separate counter file or lock. That last
 * property is what lets the workboard skip the bespoke `.highwatermark`
 * sequence the old design serialized under its own mutex.
 *
 * Ids are optionally prefixed (`tkt_…`, `env_…`) so a bare string is
 * self-describing in logs and on disk. The prefix is cosmetic — it is not part
 * of the sortable suffix, so two ids with the same prefix still order by time.
 */
/**
 * Mint a fresh, time-sortable unique id.
 *
 * With no argument it returns a bare 26-char ULID. With a `prefix` it returns
 * `<prefix>_<ULID>` — handy for distinguishing id families at a glance. Ids
 * minted later in wall-clock time sort lexicographically after earlier ones
 * (within a shared prefix), so a plain string sort doubles as a chronological
 * sort.
 */
export declare function newId(prefix?: string): string;
