import * as B from "effect/Brand"; import type * as Option from "effect/Option"; import type * as Result from "effect/Result"; import * as S from "effect/Schema"; export interface Constructor> { /** * Constructs a branded type from a value of type `A`, throwing an error if * the provided `A` is not valid. */ (args: Unbranded): A; /** * Constructs a branded type from a value of type `A`, returning `Some` * if the provided `A` is valid, `None` otherwise. */ option(args: Unbranded): Option.Option; /** * Constructs a branded type from a value of type `A`, returning `Result.succeed` * if the provided `A` is valid, `Result.fail` otherwise. */ result(args: Unbranded): Result.Result; /** * Attempts to refine the provided value of type `A`, returning `true` if * the provided `A` is valid, `false` otherwise. */ is(a: Unbranded): a is Unbranded & A; } type BrandAnnotations> = S.Annotations.Filter & (C extends string ? { readonly toArbitrary?: S.Annotations.ToArbitrary.Declaration; } : {}); export interface BrandedSchema> extends S.Bottom, S["~type.make.in"], S["Iso"], S["~type.parameters"], C, S["~type.mutability"], S["~type.optionality"], S["~type.constructor.default"], S["~encoded.mutability"], S["~encoded.optionality"]> { } export declare const fromBrand: >(constructor: Constructor, options?: BrandAnnotations) => (self: Self) => BrandedSchema; export type Brands

= P extends B.Brand ? B.Brand.Brands

: never; export type Unbranded

= P extends B.Brand ? B.Brand.Unbranded

: P; export declare const nominal: >() => Constructor; export {}; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY2hlbWEvYnJhbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLENBQUMsTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxLQUFLLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUM1QyxPQUFPLEtBQUssS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBQzVDLE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBRWxDLE1BQU0sV0FBVyxXQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDeEQ7OztPQUdHO0lBQ0gsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN2Qjs7O09BR0c7SUFDSCxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzVDOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMxRDs7O09BR0c7SUFDSCxFQUFFLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtDQUMzQztBQUVELEtBQUssZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQ3hDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUNwQixDQUNBLENBQUMsU0FBUyxNQUFNLEdBQUc7SUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFBO0NBQUUsR0FDL0YsRUFBRSxDQUNQLENBQUE7QUFFSCxNQUFNLFdBQVcsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFFLFNBQ3RFLENBQUMsQ0FBQyxNQUFNLENBQ04sQ0FBQyxFQUNELENBQUMsQ0FBQyxTQUFTLENBQUMsRUFDWixDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFDckIsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEVBQ3JCLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFDUixhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUNuQixDQUFDLENBQUMsZUFBZSxDQUFDLEVBQ2xCLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFDUixDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFDckIsQ0FBQyxFQUNELENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUNyQixDQUFDLENBQUMsbUJBQW1CLENBQUMsRUFDdEIsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLEVBQzlCLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUN4QixDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FDMUI7Q0FDRDtBQUVGLGVBQU8sTUFBTSxTQUFTLEdBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGVBQ2pDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFDakIsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE1BRTlCLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxRQUFRLElBQUksS0FBRyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FHdEQsQ0FBQTtBQUVELE1BQU0sTUFBTSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUM5RCxLQUFLLENBQUE7QUFFVCxNQUFNLE1BQU0sU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7QUFFNUUsZUFBTyxNQUFNLE9BQU8sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBSXZDLENBQUEifQ==