/** * WHO A MARK IS OF, and the hue that follows from it. * * PRIVATE, and that is the point: a hue a call site chooses is a category the * reader cannot act on, so the package publishes no way to pick one. An app that * wanted a particular colour is stating a fact, and a fact is a `Status` or a * `Chip`. */ /** * THE EIGHT HUES A MARK IS DEALT BY WHOSE IT IS. * * A mark's colour is DATA — who — and it is `constitution.md` §8's one exception * for that reason: a register of twenty people drawn in one tint is told apart by * two letters each. Eight rather than the palette's twenty-two: they are the * families that stay apart in HUE, and `identity_hue.test.ts` measures all 28 * pairs in both themes. * * RED IS NOT ONE OF THEM. It means danger everywhere else in this system, and a * person is not a warning. The order is arbitrary — a hash mod 8 makes no two * entries neighbours — so a family is replaced IN PLACE rather than reordered. */ export declare const IDENTITY_FAMILIES: readonly ["cyan", "orange", "green", "teal", "blue", "indigo", "violet", "pink"]; export type IdentityFamily = (typeof IDENTITY_FAMILIES)[number]; /** * WHO A SUBJECT IS, in the kit's ONE reading: the name they were given, else what * they sign in as. Blank where the caller knows neither — a mark keyed on nothing * is dealt no family, and `memberDisplayName` supplies the word to print in its * place. * * A function rather than a convention, because the convention is what failed: four * entries each spelled the fallback for themselves and two spelled it differently. */ export declare function identityKey(name?: string | null, identity?: string | null): string; /** * The family a subject's key falls on, or `undefined` where there is no key — * nothing to identify, so the mark keeps the neutral ground the sheet paints. * * NFC first, because Vietnamese arrives both composed and decomposed and the * two spellings of one name must not be two people; then case-folded, because a * display name retyped in capitals is the same person. */ export declare function identityFamily(key: string): IdentityFamily | undefined;