/**
 * The band table: per band, who may write it, how, where an addition lands, and which mods event is its one
 * write port. A band is a policy class, never a position — position is a section's own rank.
 *
 * Every column has a reader:
 * - `ops` — the overlay fold's authorization (`overlay.ts` `validateOverlay`): an op the source class does not
 *   hold on the target's band is a violation; and the catalog description's `ops` projection (each section's three
 *   columns as they are).
 * - `addRank` — where an `add` lands (`overlay.ts` fold; additions in one band order by source class, then by
 *   declaration).
 * - `modsEvent` — the one mods event whose answers may write the band (`prompt.compose` for the composed
 *   bands, `prompt.section` for the dynamic discovery entries); an answer that targets a band its event does
 *   not write is a violation.
 */
import type { BandId, BandRow } from "./catalog/schema.js";
export declare const BANDS: readonly BandRow[];
/** The band row (every `BandId` has one — the table is total). */
export declare function bandOf(id: BandId): BandRow;
/** Whether a string names a band. */
export declare function isBandId(id: string): id is BandId;
