/** * @since 0.1.0 */ import { Alt1 } from 'fp-ts/lib/Alt' import { Alternative1 } from 'fp-ts/lib/Alternative' import { Applicative1 } from 'fp-ts/lib/Applicative' import { Apply1 } from 'fp-ts/lib/Apply' import { Functor1 } from 'fp-ts/lib/Functor' import { Monad1 } from 'fp-ts/lib/Monad' import { Option } from 'fp-ts/lib/Option' /** * @category model * @since 0.1.0 */ export interface ArrayOption extends Array> {} /** * @category constructors * @since 0.1.0 */ export declare const fromArray: (as: Array) => ArrayOption /** * @category constructors * @since 0.1.0 */ export declare const fromOption: (ma: Option) => ArrayOption /** * @category constructors * @since 0.1.10 */ export declare const fromOptionK: , B>( f: (...a: A) => Option ) => (...a: A) => ArrayOption /** * @category constructors * @since 0.1.0 */ export declare const none: ArrayOption /** * @category constructors * @since 0.1.0 */ export declare const some: (a: A) => ArrayOption /** * @category destructors * @since 0.1.0 */ export declare const fold: ( onNone: () => Array, onSome: (a: A) => Array ) => (as: ArrayOption) => Array /** * @category destructors * @since 0.1.0 */ export declare const getOrElse: (onNone: () => Array) => (as: ArrayOption) => Array /** * @category Functor * @since 0.1.18 */ export declare const map: (f: (a: A) => B) => (fa: ArrayOption) => ArrayOption /** * @category Apply * @since 0.1.18 */ export declare const ap: (fa: ArrayOption) => (fab: ArrayOption<(a: A) => B>) => ArrayOption /** * @category Apply * @since 0.1.18 */ export declare const apFirst: (fb: ArrayOption) => (fa: ArrayOption) => ArrayOption /** * @category Apply * @since 0.1.18 */ export declare const apSecond: (fb: ArrayOption) => (fa: ArrayOption) => ArrayOption /** * @category Applicative * @since 0.1.18 */ export declare const of: (a: A) => ArrayOption /** * @category Monad * @since 0.1.10 */ export declare const chainOptionK: (f: (a: A) => Option) => (ma: ArrayOption) => ArrayOption /** * @category Monad * @since 0.1.18 */ export declare const chain: (f: (a: A) => ArrayOption) => (fa: ArrayOption) => ArrayOption /** * @category Monad * @since 0.1.18 */ export declare const chainFirst: (f: (a: A) => ArrayOption) => (ma: ArrayOption) => ArrayOption /** * @category Monad * @since 0.1.18 */ export declare const flatten: (mma: ArrayOption>) => ArrayOption /** * @category Alternative * @since 0.1.18 */ export declare const alt: (that: () => ArrayOption) => (fa: ArrayOption) => ArrayOption /** * @category Alternative * @since 0.1.18 */ export declare const zero: Alternative1['zero'] /** * @category instances * @since 0.1.0 */ export declare const URI = 'ArrayOption' /** * @category instances * @since 0.1.0 */ export declare type URI = typeof URI declare module 'fp-ts/lib/HKT' { interface URItoKind { ArrayOption: ArrayOption } } /** * @category instances * @since 0.1.18 */ export declare const Functor: Functor1 /** * @category instances * @since 0.1.18 */ export declare const Applicative: Applicative1 /** * @category instances * @since 0.1.18 */ export declare const Apply: Apply1 /** * @category instances * @since 0.1.18 */ export declare const Monad: Monad1 /** * @category instances * @since 0.1.18 */ export declare const Alt: Alt1 /** * @category instances * @since 0.1.18 */ export declare const Alternative: Alternative1 /** * @category instances * @since 0.1.0 */ export declare const arrayOption: Monad1 & Alt1