import { Functor, Functor1, Functor2, Functor2C, Functor3, Functor3C, Functor4, FunctorComposition, FunctorComposition11, FunctorComposition12, FunctorComposition12C, FunctorComposition21, FunctorComposition22, FunctorComposition22C, FunctorComposition2C1 } from './Functor' import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT' /** * @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