import { Kind } from '../../kinds/index.js'; import * as O from '../option'; import * as IO from '../io'; import * as tFunctor from '../../typeclass/functor'; import * as tNone from '../../typeclass/none'; import * as tOf from '../../typeclass/of'; import * as tTo from '../../typeclass/to'; import * as tApplicative from '../../typeclass/applicative'; import * as tMonad from '../../typeclass/monad'; import * as tFoldable from '../../typeclass/foldable'; import * as tSemiAlternative from '../../typeclass/semialternative'; import * as tFilterable from '../../typeclass/filterable'; export interface IOOption extends IO.IO> { } export interface TIOOption extends Kind.unary { return: IOOption; } export declare const none: () => IOOption; export declare const some: (a: A) => IOOption; export declare const run: (io: IOOption) => O.Option; export declare const None: tNone.None; export declare const Of: tOf.Of; export declare const Functor: tFunctor.Functor; export declare const To: tTo.To; export declare const Applicative: tApplicative.Applicative; export declare const Monad: tMonad.Monad; export declare const Foldable: tFoldable.Foldable; export declare const Filterable: tFilterable.Filterable; export declare const SemiAlternative: tSemiAlternative.SemiAlternative; export declare const fromIO: (io: IO.IO) => IOOption; export declare const fromOption: (o: O.Option) => IOOption; export declare const of: (a: A) => IOOption; export declare const getOrElse: (f: () => A1) => (fa: IOOption) => A1 | A; export declare const getOr: (args_0: A1) => (args_0: IOOption) => A1 | B1; export declare const map: (args_0: (args_0: A1) => A2) => (args_0: IOOption) => IOOption; export declare const mapCompose: (args_0: (args_0: A1) => A2) => (args_0: IOOption>) => IOOption>; export declare const flap: (args_0: A1) => (args_0: IOOption<(args_0: A1) => B1>) => IOOption; export declare const as: (args_0: A1) => (args_0: IOOption) => IOOption; export declare const tap: (args_0: (args_0: A1) => void) => (args_0: IOOption) => IOOption; export declare const ap: (args_0: IOOption) => (args_0: IOOption<(args_0: A1) => B1>) => IOOption; export declare const liftA2: (args_0: (args_0: A1, args_1: A2) => A3) => (args_0: IOOption) => (args_0: IOOption) => IOOption; export declare const product: (args_0: IOOption) => (args_0: IOOption) => IOOption<[A1, B1]>; export declare const productMany: (args_0: IOOption) => (args_0: IOOption[]) => IOOption; export declare const flatMap: (args_0: (args_0: A1) => IOOption) => (args_0: IOOption) => IOOption; export declare const andThen: (args_0: (args_0: A1) => IOOption) => (args_0: IOOption) => IOOption; export declare const chain: (args_0: (args_0: A1) => IOOption) => (args_0: IOOption) => IOOption; export declare const flatten: (args_0: IOOption>) => IOOption; export declare const filterMap: (args_0: (args_0: A1) => O.Option) => (args_0: IOOption) => IOOption; export declare const filter: (args_0: (args_0: A1) => boolean) => (args_0: IOOption) => IOOption; export declare const compact: (args_0: IOOption>) => IOOption; export declare const reduce: (args_0: (args_0: A1, args_1: A2) => A1, args_1: A1) => (args_0: IOOption) => A1; export declare const orElse: (args_0: () => IOOption) => (args_0: IOOption) => IOOption; export declare const or: (args_0: IOOption) => (args_0: IOOption) => IOOption; export declare const pluck: (k: K) => (args_0: IOOption) => IOOption;