import type * as HKT from './HKT' export interface Pure extends HKT.Base { readonly pure: PureFn } export type PureMin = { readonly pure: PureFn } export interface Pure2 extends HKT.CompositionBase2 { readonly pure: PureFn2 } export interface PureFn { < A, N extends string = HKT.Initial, K = HKT.Initial, 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 } export interface PureFn2 { < A, N extends string = HKT.Initial, K = HKT.Initial, 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< F, CF, N, K, Q, W, X, I, S, R, E, HKT.Kind< G, CG, HKT.Initial, HKT.Initial, HKT.Initial, HKT.Initial, HKT.Initial, HKT.Initial, HKT.Initial, HKT.Initial, HKT.Initial, A > > }