import "../Operator/index.js"; import type { IxURI } from "../Modules/index.js"; import * as HKT from "../Prelude/HKT/index.js"; import type { Monad } from "../Prelude/Monad/index.js"; export interface IxC { Ix: { _I: I; _O: O; }; } export declare type IxCT = Omit & IxC; export declare type Inner, ...HKT.URIS]> = ((...x: F) => any) extends (x: infer H, ...r: infer Rest) => any ? Rest extends HKT.URIS ? Rest : never : never; export interface Indexed, ...HKT.URIS], C extends IxC> { iof: () => , Q = HKT.Initial, W = HKT.Initial, X = HKT.Initial, I = HKT.Initial, S = HKT.Initial, R = HKT.Initial, E = HKT.Initial>(a: A) => HKT.Kind, K, Q, W, X, I, S, R, E, A>; lift: () => (fa: HKT.Kind, C, K, Q, W, X, I, S, R, E, A>) => HKT.Kind, K, Q, W, X, I, S, R, E, A>; lower: () => (fa: HKT.Kind, K, Q, W, X, I, S, R, E, A>) => HKT.Kind, C, K, Q, W, X, I, S, R, E, A>; ichain(f: (a: A) => HKT.Kind, K2, Q2, W2, X2, I2, S2, R2, E2, B>): (fa: HKT.Kind, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, A>) => HKT.Kind, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, B>; chain(f: (a: A) => HKT.Kind, K2, Q2, W2, X2, I2, S2, R2, E2, B>): (fa: HKT.Kind, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, A>) => HKT.Kind, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, B>; chainLower(f: (a: A) => HKT.Kind, C, K2, Q2, W2, X2, I2, S2, R2, E2, B>): (fa: HKT.Kind, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, A>) => HKT.Kind, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, B>; } export declare class Ix { readonly value: A; readonly _I: I; readonly _O: O; constructor(value: A); } export declare function makeIx(): (a: A) => Ix; export declare type IndexedT = Indexed<[ HKT.URI, F[0], ...HKT.Rest ], IxCT>; export declare function indexedF<_I, _O = _I>(): (F: Monad) => IndexedT; //# sourceMappingURL=index.d.ts.map