import { Functor, Functor1, Functor2, Functor2C, Functor3, Functor3C, Functor4, FunctorComposition, FunctorComposition2C1, FunctorComposition11, FunctorComposition12, FunctorComposition12C, FunctorComposition21, FunctorComposition22, FunctorComposition22C } from './Functor.js'; import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT.js'; /** * @category model * @since 2.0.0 */ export interface FunctorWithIndex extends Functor { readonly mapWithIndex: (fa: HKT, f: (i: I, a: A) => B) => HKT; } /** * @category model * @since 2.0.0 */ export interface FunctorWithIndex1 extends Functor1 { readonly mapWithIndex: (fa: Kind, f: (i: I, a: A) => B) => Kind; } /** * @category model * @since 2.0.0 */ export interface FunctorWithIndex2 extends Functor2 { readonly mapWithIndex: (fa: Kind2, f: (i: I, a: A) => B) => Kind2; } /** * @category model * @since 2.0.0 */ export interface FunctorWithIndex2C extends Functor2C { readonly mapWithIndex: (fa: Kind2, f: (i: I, a: A) => B) => Kind2; } /** * @category model * @since 2.0.0 */ export interface FunctorWithIndex3 extends Functor3 { readonly mapWithIndex: (fa: Kind3, f: (i: I, a: A) => B) => Kind3; } /** * @category model * @since 2.2.0 */ export interface FunctorWithIndex3C extends Functor3C { readonly mapWithIndex: (fa: Kind3, f: (i: I, a: A) => B) => Kind3; } /** * @category model * @since 2.0.0 */ export interface FunctorWithIndex4 extends Functor4 { readonly mapWithIndex: (fa: Kind4, f: (i: I, a: A) => B) => Kind4; } /** * `mapWithIndex` composition. * * @since 2.10.0 */ export declare function mapWithIndex(F: FunctorWithIndex1, G: FunctorWithIndex1): (f: (ij: readonly [I, J], a: A) => B) => (fa: Kind>) => Kind>; export declare function mapWithIndex(F: FunctorWithIndex, G: FunctorWithIndex): (f: (ij: readonly [I, J], a: A) => B) => (fa: HKT>) => HKT>; /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface FunctorWithIndexComposition extends FunctorComposition { readonly mapWithIndex: (fga: HKT>, f: (i: [FI, GI], a: A) => B) => HKT>; } /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface FunctorWithIndexComposition11 extends FunctorComposition11 { readonly mapWithIndex: (fa: Kind>, f: (i: [FI, GI], a: A) => B) => Kind>; } /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface FunctorWithIndexComposition12 extends FunctorComposition12 { readonly mapWithIndex: (fa: Kind>, f: (i: [FI, GI], a: A) => B) => Kind>; } /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface FunctorWithIndexComposition12C extends FunctorComposition12C { readonly mapWithIndex: (fa: Kind>, f: (i: [FI, GI], a: A) => B) => Kind>; } /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface FunctorWithIndexComposition21 extends FunctorComposition21 { readonly mapWithIndex: (fa: Kind2>, f: (i: [FI, GI], a: A) => B) => Kind2>; } /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface FunctorWithIndexComposition2C1 extends FunctorComposition2C1 { readonly mapWithIndex: (fa: Kind2>, f: (i: [FI, GI], a: A) => B) => Kind2>; } /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface FunctorWithIndexComposition22 extends FunctorComposition22 { readonly mapWithIndex: (fa: Kind2>, f: (i: [FI, GI], a: A) => B) => Kind2>; } /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface FunctorWithIndexComposition22C extends FunctorComposition22C { readonly mapWithIndex: (fa: Kind2>, f: (i: [FI, GI], a: A) => B) => Kind2>; } /** * Use [`mapWithIndex`](#mapwithindex) instead. * * @category zone of death * @since 2.0.0 * @deprecated */ export declare function getFunctorWithIndexComposition(F: FunctorWithIndex2, G: FunctorWithIndex2C): FunctorWithIndexComposition22C; /** @deprecated */ export declare function getFunctorWithIndexComposition(F: FunctorWithIndex2, G: FunctorWithIndex2): FunctorWithIndexComposition22; /** @deprecated */ export declare function getFunctorWithIndexComposition(F: FunctorWithIndex2C, G: FunctorWithIndex1): FunctorWithIndexComposition2C1; /** @deprecated */ export declare function getFunctorWithIndexComposition(F: FunctorWithIndex2, G: FunctorWithIndex1): FunctorWithIndexComposition21; /** @deprecated */ export declare function getFunctorWithIndexComposition(F: FunctorWithIndex1, G: FunctorWithIndex2C): FunctorWithIndexComposition12C; /** @deprecated */ export declare function getFunctorWithIndexComposition(F: FunctorWithIndex1, G: FunctorWithIndex2): FunctorWithIndexComposition12; /** @deprecated */ export declare function getFunctorWithIndexComposition(F: FunctorWithIndex1, G: FunctorWithIndex1): FunctorWithIndexComposition11; /** @deprecated */ export declare function getFunctorWithIndexComposition(F: FunctorWithIndex, G: FunctorWithIndex): FunctorWithIndexComposition;