import Runtype, { type Parsed, type Static } from "./Runtype.js"; import Spread from "./Spread.js"; import type HasSymbolIterator from "./utils-internal/HasSymbolIterator.js"; declare const RuntypeName: unique symbol; type RuntypeBrand = { [RuntypeName]: { [k in B]: B; }; }; /** * Adds a brand to the inferred static type. * * Possible failures: * * - `TYPE_INCORRECT` with `detail` reporting the inner failure */ interface Brand extends Runtype & RuntypeBrand, Parsed & RuntypeBrand> { tag: "brand"; brand: B; entity: R; [Symbol.iterator]: R extends Runtype.Spreadable ? HasSymbolIterator extends true ? () => Iterator>> : never : never; } declare const Brand: (brand: B, entity: R) => Brand; export default Brand;