/** * @since 2.0.0 */ import { ApplicativeComposition11, ApplicativeComposition21, ApplicativeComposition2C1, ApplicativeCompositionHKT1 } from './Applicative' import { Apply, Apply1, Apply2, Apply2C, Apply3, Apply3C, Apply4 } from './Apply' import { Chain, Chain1, Chain2, Chain2C, Chain3, Chain3C, Chain4 } from './Chain' import { Either } from './Either' import { Lazy } from './function' import { Functor, Functor1, Functor2, Functor2C, Functor3, Functor3C, Functor4 } from './Functor' import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT' import { Monad, Monad1, Monad2, Monad2C, Monad3, Monad3C, Monad4 } from './Monad' import * as O from './Option' import { Pointed, Pointed1, Pointed2, Pointed2C, Pointed3, Pointed3C, Pointed4 } from './Pointed' import { Predicate } from './Predicate' import { Refinement } from './Refinement' import Option = O.Option /** * @since 2.10.0 */ export declare function some(F: Pointed4): (a: A) => Kind4> export declare function some(F: Pointed3): (a: A) => Kind3> export declare function some(F: Pointed3C): (a: A) => Kind3> export declare function some(F: Pointed2): (a: A) => Kind2> export declare function some(F: Pointed2C): (a: A) => Kind2> export declare function some(F: Pointed1): (a: A) => Kind> export declare function some(F: Pointed): (a: A) => HKT> /** * @since 2.10.0 */ export declare function zero(F: Pointed4): () => Kind4> export declare function zero(F: Pointed3): () => Kind3> export declare function zero(F: Pointed3C): () => Kind3> export declare function zero(F: Pointed2): () => Kind2> export declare function zero(F: Pointed2C): () => Kind2> export declare function zero(F: Pointed1): () => Kind> export declare function zero(F: Pointed): () => HKT> /** * @since 2.10.0 */ export declare function fromF( F: Functor4 ): (ma: Kind4) => Kind4> export declare function fromF( F: Functor3 ): (ma: Kind3) => Kind3> export declare function fromF( F: Functor3C ): (ma: Kind3) => Kind3> export declare function fromF(F: Functor2): (ma: Kind2) => Kind2> export declare function fromF(F: Functor2C): (ma: Kind2) => Kind2> export declare function fromF(F: Functor1): (ma: Kind) => Kind> export declare function fromF(F: Functor): (ma: HKT) => HKT> /** * @since 2.10.0 */ export declare function fromNullable( F: Pointed4 ): (a: A) => Kind4>> export declare function fromNullable( F: Pointed3 ): (a: A) => Kind3>> export declare function fromNullable( F: Pointed3C ): (a: A) => Kind3>> export declare function fromNullable( F: Pointed2 ): (a: A) => Kind2>> export declare function fromNullable( F: Pointed2C ): (a: A) => Kind2>> export declare function fromNullable(F: Pointed1): (a: A) => Kind>> export declare function fromNullable(F: Pointed): (a: A) => HKT>> /** * @since 2.10.0 */ export declare function fromNullableK( F: Pointed4 ): , B>( f: (...a: A) => B | null | undefined ) => (...a: A) => Kind4>> export declare function fromNullableK( F: Pointed3 ): , B>( f: (...a: A) => B | null | undefined ) => (...a: A) => Kind3>> export declare function fromNullableK( F: Pointed3C ): , B>( f: (...a: A) => B | null | undefined ) => (...a: A) => Kind3>> export declare function fromNullableK( F: Pointed2 ): , B>( f: (...a: A) => B | null | undefined ) => (...a: A) => Kind2>> export declare function fromNullableK( F: Pointed2C ): , B>( f: (...a: A) => B | null | undefined ) => (...a: A) => Kind2>> export declare function fromNullableK( F: Pointed1 ): , B>( f: (...a: A) => B | null | undefined ) => (...a: A) => Kind>> export declare function fromNullableK( F: Pointed ): , B>( f: (...a: A) => B | null | undefined ) => (...a: A) => HKT>> /** * @since 2.10.0 */ export declare function chainNullableK( M: Monad4 ): ( f: (a: A) => B | null | undefined ) => (ma: Kind4>) => Kind4>> export declare function chainNullableK( M: Monad3 ): ( f: (a: A) => B | null | undefined ) => (ma: Kind3>) => Kind3>> export declare function chainNullableK( M: Monad3C ): ( f: (a: A) => B | null | undefined ) => (ma: Kind3>) => Kind3>> export declare function chainNullableK( M: Monad2 ): (f: (a: A) => B | null | undefined) => (ma: Kind2>) => Kind2>> export declare function chainNullableK( M: Monad2C ): (f: (a: A) => B | null | undefined) => (ma: Kind2>) => Kind2>> export declare function chainNullableK( M: Monad1 ): (f: (a: A) => B | null | undefined) => (ma: Kind>) => Kind>> export declare function chainNullableK( M: Monad ): (f: (a: A) => B | null | undefined) => (ma: HKT>) => HKT>> /** * @since 2.10.0 */ export declare function fromOptionK( F: Pointed4 ): , B>( f: (...a: A) => Option ) => (...a: A) => Kind4> export declare function fromOptionK( F: Pointed3 ): , B>(f: (...a: A) => Option) => (...a: A) => Kind3> export declare function fromOptionK( F: Pointed3C ): , B>(f: (...a: A) => Option) => (...a: A) => Kind3> export declare function fromOptionK( F: Pointed2 ): , B>(f: (...a: A) => Option) => (...a: A) => Kind2> export declare function fromOptionK( F: Pointed2C ): , B>(f: (...a: A) => Option) => (...a: A) => Kind2> export declare function fromOptionK( F: Pointed1 ): , B>(f: (...a: A) => Option) => (...a: A) => Kind> export declare function fromOptionK( F: Pointed ): , B>(f: (...a: A) => Option) => (...a: A) => HKT> /** * @since 2.10.0 */ export declare function chainOptionK( M: Monad4 ): (f: (a: A) => Option) => (ma: Kind4>) => Kind4> export declare function chainOptionK( M: Monad3 ): (f: (a: A) => Option) => (ma: Kind3>) => Kind3> export declare function chainOptionK( M: Monad3C ): (f: (a: A) => Option) => (ma: Kind3>) => Kind3> export declare function chainOptionK( M: Monad2 ): (f: (a: A) => Option) => (ma: Kind2>) => Kind2> export declare function chainOptionK( M: Monad2C ): (f: (a: A) => Option) => (ma: Kind2>) => Kind2> export declare function chainOptionK( M: Monad1 ): (f: (a: A) => Option) => (ma: Kind>) => Kind> export declare function chainOptionK( M: Monad ): (f: (a: A) => Option) => (ma: HKT>) => HKT> /** * @category lifting * @since 2.10.0 */ export declare function fromPredicate( F: Pointed4 ): { (refinement: Refinement): (a: A) => Kind4> (predicate: Predicate): (b: B) => Kind4> (predicate: Predicate): (a: A) => Kind4> } export declare function fromPredicate( F: Pointed3 ): { (refinement: Refinement): (a: A) => Kind3> (predicate: Predicate): (b: B) => Kind3> (predicate: Predicate): (a: A) => Kind3> } export declare function fromPredicate( F: Pointed3C ): { (refinement: Refinement): (a: A) => Kind3> (predicate: Predicate): (b: B) => Kind3> (predicate: Predicate): (a: A) => Kind3> } export declare function fromPredicate( F: Pointed2 ): { (refinement: Refinement): (a: A) => Kind2> (predicate: Predicate): (b: B) => Kind2> (predicate: Predicate): (a: A) => Kind2> } export declare function fromPredicate( F: Pointed2C ): { (refinement: Refinement): (a: A) => Kind2> (predicate: Predicate): (b: B) => Kind2> (predicate: Predicate): (a: A) => Kind2> } export declare function fromPredicate( F: Pointed1 ): { (refinement: Refinement): (a: A) => Kind> (predicate: Predicate): (b: B) => Kind> (predicate: Predicate): (a: A) => Kind> } export declare function fromPredicate(F: Pointed): { (refinement: Refinement): (a: A) => HKT> (predicate: Predicate): (b: B) => HKT> (predicate: Predicate): (a: A) => HKT> } /** * @since 2.10.0 */ export declare function fromEither( F: Pointed4 ): (e: Either) => Kind4> export declare function fromEither( F: Pointed3 ): (e: Either) => Kind3> export declare function fromEither( F: Pointed3C ): (e: Either) => Kind3> export declare function fromEither( F: Pointed2 ): (e: Either) => Kind2> export declare function fromEither( F: Pointed2C ): (e: Either) => Kind2> export declare function fromEither( F: Pointed2C ): (e: Either) => Kind2> export declare function fromEither(F: Pointed1): (e: Either) => Kind> export declare function fromEither(F: Pointed): (e: Either) => HKT> /** * @category pattern matching * @since 2.10.0 */ export declare function match( F: Functor4 ): (onNone: () => B, onSome: (a: A) => B) => (ma: Kind4>) => Kind4 export declare function match( F: Functor3 ): (onNone: () => B, onSome: (a: A) => B) => (ma: Kind3>) => Kind3 export declare function match( F: Functor3C ): (onNone: () => B, onSome: (a: A) => B) => (ma: Kind3>) => Kind3 export declare function match( F: Functor2 ): (onNone: () => B, onSome: (a: A) => B) => (ma: Kind2>) => Kind2 export declare function match( F: Functor2C ): (onNone: () => B, onSome: (a: A) => B) => (ma: Kind2>) => Kind2 export declare function match( F: Functor1 ): (onNone: () => B, onSome: (a: A) => B) => (ma: Kind>) => Kind export declare function match( F: Functor ): (onNone: () => B, onSome: (a: A) => B) => (ma: HKT>) => HKT /** * @since 2.10.0 */ export declare function matchE( M: Chain4 ): ( onNone: () => Kind4, onSome: (a: A) => Kind4 ) => (ma: Kind4>) => Kind4 export declare function matchE( M: Chain3 ): ( onNone: () => Kind3, onSome: (a: A) => Kind3 ) => (ma: Kind3>) => Kind3 export declare function matchE( M: Chain3C ): ( onNone: () => Kind3, onSome: (a: A) => Kind3 ) => (ma: Kind3>) => Kind3 export declare function matchE( M: Chain2 ): ( onNone: () => Kind2, onSome: (a: A) => Kind2 ) => (ma: Kind2>) => Kind2 export declare function matchE( M: Chain2C ): ( onNone: () => Kind2, onSome: (a: A) => Kind2 ) => (ma: Kind2>) => Kind2 export declare function matchE( M: Chain1 ): (onNone: () => Kind, onSome: (a: A) => Kind) => (ma: Kind>) => Kind export declare function matchE( M: Chain ): (onNone: () => HKT, onSome: (a: A) => HKT) => (ma: HKT>) => HKT /** * @since 2.10.0 */ export declare function getOrElse( M: Monad4 ): (onNone: Lazy>) => (fa: Kind4>) => Kind4 export declare function getOrElse( M: Monad3 ): (onNone: Lazy>) => (fa: Kind3>) => Kind3 export declare function getOrElse( M: Monad3C ): (onNone: Lazy>) => (fa: Kind3>) => Kind3 export declare function getOrElse( M: Monad2 ): (onNone: Lazy>) => (fa: Kind2>) => Kind2 export declare function getOrElse( M: Monad2C ): (onNone: Lazy>) => (fa: Kind2>) => Kind2 export declare function getOrElse( M: Monad1 ): (onNone: Lazy>) => (fa: Kind>) => Kind export declare function getOrElse(M: Monad): (onNone: Lazy>) => (fa: HKT>) => HKT /** * @since 2.10.0 */ export declare function map( F: Functor4 ): (f: (a: A) => B) => (fa: Kind4>) => Kind4> export declare function map( F: Functor3 ): (f: (a: A) => B) => (fa: Kind3>) => Kind3> export declare function map( F: Functor3C ): (f: (a: A) => B) => (fa: Kind3>) => Kind3> export declare function map( F: Functor2 ): (f: (a: A) => B) => (fa: Kind2>) => Kind2> export declare function map( F: Functor2C ): (f: (a: A) => B) => (fa: Kind2>) => Kind2> export declare function map( F: Functor1 ): (f: (a: A) => B) => (fa: Kind>) => Kind> export declare function map(F: Functor): (f: (a: A) => B) => (fa: HKT>) => HKT> /** * @since 2.10.0 */ export declare function ap( F: Apply4 ): ( fa: Kind4> ) => (fab: Kind4 B>>) => Kind4> export declare function ap( F: Apply3 ): ( fa: Kind3> ) => (fab: Kind3 B>>) => Kind3> export declare function ap( F: Apply3C ): (fa: Kind3>) => (fab: Kind3 B>>) => Kind3> export declare function ap( F: Apply2 ): (fa: Kind2>) => (fab: Kind2 B>>) => Kind2> export declare function ap( F: Apply2C ): (fa: Kind2>) => (fab: Kind2 B>>) => Kind2> export declare function ap( F: Apply1 ): (fa: Kind>) => (fab: Kind B>>) => Kind> export declare function ap( F: Apply ): (fa: HKT>) => (fab: HKT B>>) => HKT> /** * @since 2.10.0 */ export declare function chain( M: Monad4 ): ( f: (a: A) => Kind4> ) => (ma: Kind4>) => Kind4> export declare function chain( M: Monad3 ): (f: (a: A) => Kind3>) => (ma: Kind3>) => Kind3> export declare function chain( M: Monad3C ): (f: (a: A) => Kind3>) => (ma: Kind3>) => Kind3> export declare function chain( M: Monad2 ): (f: (a: A) => Kind2>) => (ma: Kind2>) => Kind2> export declare function chain( M: Monad2C ): (f: (a: A) => Kind2>) => (ma: Kind2>) => Kind2> export declare function chain( M: Monad1 ): (f: (a: A) => Kind>) => (ma: Kind>) => Kind> export declare function chain( M: Monad ): (f: (a: A) => HKT>) => (ma: HKT>) => HKT> /** * @since 2.10.0 */ export declare function alt( M: Monad4 ): ( second: Lazy>> ) => (first: Kind4>) => Kind4> export declare function alt( M: Monad3 ): (second: Lazy>>) => (first: Kind3>) => Kind3> export declare function alt( M: Monad3C ): (second: Lazy>>) => (first: Kind3>) => Kind3> export declare function alt( M: Monad2 ): (second: Lazy>>) => (first: Kind2>) => Kind2> export declare function alt( M: Monad2C ): (second: Lazy>>) => (first: Kind2>) => Kind2> export declare function alt( M: Monad1 ): (second: Lazy>>) => (first: Kind>) => Kind> export declare function alt( M: Monad ): (second: Lazy>>) => (first: HKT>) => HKT> /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface OptionT extends HKT> {} /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface OptionM extends ApplicativeCompositionHKT1 { readonly chain: (ma: OptionT, f: (a: A) => OptionT) => OptionT readonly alt: (fa: OptionT, that: Lazy>) => OptionT readonly fold: (ma: OptionT, onNone: Lazy>, onSome: (a: A) => HKT) => HKT readonly getOrElse: (ma: OptionT, onNone: Lazy>) => HKT readonly fromM: (ma: HKT) => OptionT readonly none: () => OptionT } /** * @category zone of death * @since 2.0.0 * @deprecated */ export declare type OptionT1 = Kind> /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface OptionM1 extends ApplicativeComposition11 { readonly chain: (ma: OptionT1, f: (a: A) => OptionT1) => OptionT1 readonly alt: (fa: OptionT1, that: Lazy>) => OptionT1 readonly fold: (ma: OptionT1, onNone: Lazy>, onSome: (a: A) => Kind) => Kind readonly getOrElse: (ma: OptionT1, onNone: Lazy>) => Kind readonly fromM: (ma: Kind) => OptionT1 readonly none: () => OptionT1 } /** * @category zone of death * @since 2.0.0 * @deprecated */ export declare type OptionT2 = Kind2> /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface OptionM2 extends ApplicativeComposition21 { readonly chain: (ma: OptionT2, f: (a: A) => OptionT2) => OptionT2 readonly alt: (fa: OptionT2, that: Lazy>) => OptionT2 readonly fold: ( ma: OptionT2, onNone: Lazy>, onSome: (a: A) => Kind2 ) => Kind2 readonly getOrElse: (ma: OptionT2, onNone: Lazy>) => Kind2 readonly fromM: (ma: Kind2) => OptionT2 readonly none: () => OptionT2 } /** * @category zone of death * @since 2.2.0 * @deprecated */ export interface OptionM2C extends ApplicativeComposition2C1 { readonly chain: (ma: OptionT2, f: (a: A) => OptionT2) => OptionT2 readonly alt: (fa: OptionT2, that: Lazy>) => OptionT2 readonly fold: ( ma: OptionT2, onNone: Lazy>, onSome: (a: A) => Kind2 ) => Kind2 readonly getOrElse: (ma: OptionT2, onNone: Lazy>) => Kind2 readonly fromM: (ma: Kind2) => OptionT2 readonly none: () => OptionT2 } /** * @category zone of death * @since 2.0.0 * @deprecated */ export declare function getOptionM(M: Monad2): OptionM2 /** @deprecated */ export declare function getOptionM(M: Monad2C): OptionM2C /** @deprecated */ export declare function getOptionM(M: Monad1): OptionM1 /** @deprecated */ export declare function getOptionM(M: Monad): OptionM