import type { EnforceNonEmptyRecord } from "../../Utils/index.js"; import type { Apply } from "../Apply/index.js"; import type * as HKT from "../HKT/index.js"; export declare function apF(F: Apply): (fa: HKT.Kind) => (fab: HKT.Kind, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, (a: A) => B>) => HKT.Kind, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, B>; export declare function structF(F: Apply): , HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, unknown>>, K = HKT.Initial, Q = HKT.Initial, W = HKT.Initial, X = HKT.Initial, I = HKT.Initial, S = HKT.Initial, R = HKT.Initial, E = HKT.Initial>(r: EnforceNonEmptyRecord & Record, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, unknown>>) => HKT.Kind, HKT.Infer, HKT.Infer, HKT.Infer, HKT.Infer, HKT.Infer, HKT.Infer, HKT.Infer, { [K in keyof NER]: HKT.Infer; }>; export declare function tupleF(F: Apply): , HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, unknown>>, K = HKT.Initial, Q = HKT.Initial, W = HKT.Initial, X = HKT.Initial, I = HKT.Initial, S = HKT.Initial, R = HKT.Initial, E = HKT.Initial>(...t: T & { readonly 0: HKT.Kind, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, unknown>; }) => HKT.Kind, HKT.Infer, HKT.Infer, HKT.Infer, HKT.Infer, HKT.Infer, HKT.Infer, HKT.Infer, { [K in keyof T]: [T[K]] extends [ HKT.Kind ] ? A : never; }>; //# sourceMappingURL=apply.d.ts.map