import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from 'fp-ts/lib/HKT'; import { Foldable, Foldable1, Foldable2, Foldable2C, Foldable3, Foldable4 } from 'fp-ts/lib/Foldable'; export interface FoldableValue extends Foldable { readonly foldValue: (fa: HKT, onNever: (fn: HKT) => B, onValue: (a: A) => B) => B; } export interface FoldableValue1 extends Foldable1 { readonly foldValue: (fa: Kind, onNever: (fn: Kind) => B, onValue: (a: A) => B) => B; } export interface FoldableValue2 extends Foldable2 { readonly foldValue: (fa: Kind2, onNever: (fn: Kind2) => B, onValue: (a: A) => B) => B; } export interface FoldableValue2C extends Foldable2C { readonly foldValue: (fa: Kind2, onNever: (fn: Kind2) => B, onValue: (a: A) => B) => B; } export interface FoldableValue3 extends Foldable3 { readonly foldValue: (fa: Kind3, onNever: (fn: Kind3) => B, onValue: (a: A) => B) => B; } export interface FoldableValue4 extends Foldable4 { readonly foldValue: (fa: Kind4, onNever: (fn: Kind4) => B, onValue: (a: A) => B) => B; } export declare function getOrElse(F: FoldableValue4): (onNever: () => A) => (fa: Kind4) => A; export declare function getOrElse(F: FoldableValue3): (onNever: () => A) => (fa: Kind3) => A; export declare function getOrElse(F: FoldableValue2): (onNever: () => A) => (fa: Kind2) => A; export declare function getOrElse(F: FoldableValue2C): (onNever: () => A) => (fa: Kind2) => A; export declare function getOrElse(F: FoldableValue1): (onNever: () => A) => (fa: Kind) => A; export declare function getOrElse(F: FoldableValue): (onNever: () => A) => (fa: HKT) => A;