import { HKT } from "@tsplus/stdlib/prelude/HKT"; import { Either } from "@tsplus/stdlib/data/Either/definition"; import { Covariant } from "@tsplus/stdlib/prelude/Covariant"; import { Any } from "@tsplus/stdlib/prelude/Any"; import { Monad } from "@tsplus/stdlib/prelude/Monad"; import { Applicative } from "@tsplus/stdlib/prelude/Applicative"; /** * @tsplus type Select */ export interface Select extends HKT.Typeclass { readonly select: (fab: HKT.Kind B>) => (fa: HKT.Kind>) => HKT.Kind; } /** * @tsplus type Selective */ export type Selective = Select & Covariant & Any; /** * @tsplus type SelectiveMonad */ export type SelectiveMonad = Selective & Monad; /** * @tsplus type Select/Ops */ export interface SelectOps { } export declare const Select: SelectOps; /** * @tsplus static Select/Ops monad * @tsplus location "@tsplus/stdlib/prelude/Selective" */ export declare function monadF(F: Monad): SelectiveMonad; /** * @tsplus static Select/Ops applicative * @tsplus location "@tsplus/stdlib/prelude/Selective" */ export declare function applicativeF(F: Applicative): Selective; /** * @tsplus static Select/Ops branchF * @tsplus location "@tsplus/stdlib/prelude/Selective" */ export declare function branchF(F: Selective): (left: import("./HKT").HKT.Kind D1>, right: import("./HKT").HKT.Kind D2>) => (fe: import("./HKT").HKT.Kind>) => import("./HKT").HKT.Kind; /** * @tsplus static Select/Ops ifF * @tsplus location "@tsplus/stdlib/prelude/Selective" */ export declare function ifF(F: Selective): (then_: import("./HKT").HKT.Kind, else_: import("./HKT").HKT.Kind) => (if_: import("./HKT").HKT.Kind) => import("./HKT").HKT.Kind; /** * @tsplus static Select/Ops whenF * @tsplus location "@tsplus/stdlib/prelude/Selective" */ export declare function whenF(F: Selective): (act: import("./HKT").HKT.Kind) => (if_: import("./HKT").HKT.Kind) => import("./HKT").HKT.Kind; //# sourceMappingURL=Selective.d.ts.map