//#region src/core/brand.d.ts type Brand = infer _ extends Brand$1 ? BaseType : never; declare const PhantomDataBrand: unique symbol; /** * A phantom data type is one that shouldn't show up at runtime, but is checked statically (and only) at compile time. * Data types can use extra properties to act as markers or to perform type checking at compile time. These extra properties should hold no storage values, and have no runtime behavior. * * ```tsx * type MyType = { * readonly value: number; * readonly '~T'?: PhantomData; * } * ``` */ type PhantomData = Brand; type Contravariant = (_: T) => void; //#endregion export { Brand, Contravariant, PhantomData }; //# sourceMappingURL=brand.d.ts.map