import { Refinement } from "@fp-ts/data/Predicate"; import { Opt } from "@effect-ts-app/core/Option"; import { InvalidStateError } from "../client.js"; /** * @tsplus getter function asCollectable * @tsplus location "@effect-ts-app/boilerplate-prelude/_ext/refinements" */ export declare function asCollectable(refinement: Refinement): (c: T) => import("@fp-ts/data/Option").Option; /** * @tsplus fluent function as * @tsplus location "@effect-ts-app/boilerplate-prelude/_ext/refinements" */ export declare function as(refinement: Refinement, name: string): (c: T) => import("@fp-ts/data/Either").Either; /** * @tsplus fluent function refinements * @tsplus location "@effect-ts-app/boilerplate-prelude/_ext/refinements" */ export declare function makeAwesome(refinement: Refinement, name: string): { $item: (item: T) => { readonly collect: import("@fp-ts/data/Option").Option; readonly as: import("@fp-ts/data/Either").Either; readonly asEffect: import("@effect/io/Effect").Effect; }; is: import("@fp-ts/data/Predicate").Refinement; collect: (c: T) => import("@fp-ts/data/Option").Option; as: (c: T) => import("@fp-ts/data/Either").Either; asEffect: (c: T) => import("@effect/io/Effect").Effect; lens: import("@effect-ts/monocle/Internal").Lens; }; export interface Collect { (a: A): Opt; } /** * @tsplus fluent function as * @tsplus location "@effect-ts-app/boilerplate-prelude/_ext/refinements" */ export declare function asOpt(collect: Collect, name: string): (a: T) => import("@fp-ts/data/Either").Either; /** * @tsplus fluent function refinements * @tsplus location "@effect-ts-app/boilerplate-prelude/_ext/refinements" */ export declare function makeAwesomeCollect(collect: Collect, name: string): { $item: (item: T) => { readonly collect: import("@fp-ts/data/Option").Option; readonly as: import("@fp-ts/data/Either").Either; readonly asEffect: import("@effect/io/Effect").Effect; }; collect: Collect; is: (item: T) => item is T2; as: (a: T) => import("@fp-ts/data/Either").Either; asEffect: (a: T) => import("@effect/io/Effect").Effect; lens: import("@effect-ts/monocle/Internal").Lens; }; export type GetCollectedType = T extends { collect: Collect; } ? U : never; //# sourceMappingURL=refinements.d.ts.map