import type { Applicative } from './Applicative'; import type { Either } from './Either'; import type { FilterableWithIndexMin } from './FilterableWithIndex'; import type { Option } from './Option'; import type { TraversableWithIndexMin } from './TraversableWithIndex'; import { FilterableWithIndex } from './FilterableWithIndex'; import * as HKT from './HKT'; import { TraversableWithIndex } from './TraversableWithIndex'; export interface WitherableWithIndex extends FilterableWithIndex, TraversableWithIndex { readonly icompactA_: WitherWithIndexFn_; readonly icompactA: WitherWithIndexFn; readonly iseparateA_: WiltWithIndexFn_; readonly iseparateA: WiltWithIndexFn; } export declare type WitherableWithIndexMin = FilterableWithIndexMin & TraversableWithIndexMin & { readonly icompactA_: WitherWithIndexFn_; readonly iseparateA_: WiltWithIndexFn_; }; export declare function WitherableWithIndex(F: WitherableWithIndexMin): WitherableWithIndex; export interface WitherWithIndexFn { (F: Applicative): (f: (k: HKT.IndexFor, HKT.OrFix<'K', C, KF>>, a: A) => HKT.Kind>) => (wa: HKT.Kind) => HKT.Kind>; } export interface WitherWithIndexFn_ { (F: Applicative): (wa: HKT.Kind, f: (k: HKT.IndexFor, HKT.OrFix<'K', C, KF>>, a: A) => HKT.Kind>) => HKT.Kind>; } export declare function implementWitherWithIndex(): (i: (_: { A: A; B: B; G: G; NF: NF; FK: KF; FQ: QF; FW: WF; FX: XF; FI: IF; FS: SF; FR: RF; FE: EF; }) => (G: Applicative>) => (f: (i: HKT.IndexFor, HKT.OrFix<'K', F, KF>>, a: A) => HKT.HKT>) => (wa: HKT.Kind) => HKT.HKT>) => WitherWithIndexFn; export declare function implementWitherWithIndex_(): (i: (_: { A: A; B: B; G: G; NF: NF; FK: KF; FQ: QF; FW: WF; FX: XF; FI: IF; FS: SF; FR: RF; FE: EF; }) => (G: Applicative>) => (wa: HKT.Kind, f: (i: HKT.IndexFor, HKT.OrFix<'K', C, KF>>, a: A) => HKT.HKT>) => HKT.HKT>) => WitherWithIndexFn_; export interface WiltWithIndexFn { (F: Applicative): (f: (k: HKT.IndexFor, HKT.OrFix<'K', C, KF>>, a: A) => HKT.Kind>) => (wa: HKT.Kind) => HKT.Kind, HKT.Kind ]>; } export interface WiltWithIndexFn_ { (F: Applicative): (wa: HKT.Kind, f: (k: HKT.IndexFor, HKT.OrFix<'K', C, KF>>, a: A) => HKT.Kind>) => HKT.Kind, HKT.Kind ]>; } export declare function implementWiltWithIndex(): (i: (_: { A: A; B: B; B2: B2; G: G; NF: NF; FK: KF; FQ: QF; FW: WF; FX: XF; FI: IF; FS: SF; FR: RF; FE: EF; }) => (G: Applicative>) => (f: (i: HKT.IndexFor, HKT.OrFix<'K', C, KF>>, a: A) => HKT.HKT>) => (wa: HKT.Kind) => HKT.HKT, HKT.Kind ]>) => WiltWithIndexFn; export declare function implementWiltWithIndex_(): (i: (_: { A: A; B: B; B2: B2; G: G; NF: NF; FK: KF; FQ: QF; FW: WF; FX: XF; FI: IF; FS: SF; FR: RF; FE: EF; }) => (G: Applicative>) => (wa: HKT.Kind, f: (i: HKT.IndexFor, HKT.OrFix<'K', C, KF>>, a: A) => HKT.HKT>) => HKT.HKT, HKT.Kind ]>) => WiltWithIndexFn_; //# sourceMappingURL=WitherableWithIndex.d.ts.map