/** * @typed/fp/HKT is an extension to fp-ts/HKT * * @since 0.9.2 */ import * as H from 'fp-ts/HKT'; /** * Union of all the fp-ts URIs * @since 0.9.2 * @category URI */ export declare type FpTsUri = H.URIS | H.URIS2 | H.URIS3 | H.URIS4; /** * Universal type for using all of fp-ts' internal kinds. * Initially intended for helping to create your own type-classes * @since 0.9.2 * @category Type-level */ export declare type Hkt = F extends H.URIS ? H.Kind : F extends H.URIS2 ? H.Kind2 : F extends H.URIS3 ? H.Kind3 : F extends H.URIS4 ? H.Kind4 : Params['length'] extends 4 ? H.HKT4 : Params['length'] extends 3 ? H.HKT3 : Params['length'] extends 2 ? H.HKT2 : H.HKT; /** * @since 0.9.2 * @category Type-level */ export declare type UriToLength = F extends H.URIS ? 1 : F extends H.URIS2 ? 2 : F extends H.URIS3 ? 3 : F extends H.URIS4 ? 4 : Params['length']; /** * @since 0.9.2 * @category Type-level */ export declare type Param = S | R | E | A; /** * @since 0.9.2 * @category Type-level */ export declare type S = 'S'; /** * @since 0.9.2 * @category Type-level */ export declare type R = 'R'; /** * @since 0.9.2 * @category Type-level */ export declare type E = 'E'; /** * @since 0.9.2 * @category Type-level */ export declare type A = 'A'; /** * @since 0.9.2 * @category Type-level */ export declare type Variance = Covariant | Contravariant; /** * @since 0.9.2 * @category Type-level */ export declare type Covariant = '+'; /** * @since 0.9.2 * @category Type-level */ export declare type Contravariant = '-'; /** * @since 0.9.2 * @category Type-level */ export interface V

{ readonly Variance: { readonly [K in P]: () => V; }; } /** * A type-level map meant be extended, just like URItoKind*, to specify the * variance that should apply. If none is specified the default is to be strict. * @since 0.9.2 * @category Type-level */ export interface URItoVariance { readonly Either: V; readonly IOEither: V; readonly Reader: V; readonly ReaderEither: V & V; readonly ReaderTask: V; readonly ReaderTaskEither: V & V; readonly StateReaderTaskEither: V & V; readonly TaskEither: V; readonly TaskThese: V; readonly These: V; } /** * @since 0.9.2 * @category Type-level */ export declare type ApplyVariance = F extends keyof URItoVariance ? URItoVariance[F] extends V ? R extends Covariant ? T[number] : Intersect : T[0] : T[0]; /** * @since 0.9.2 * @category Type-level */ export declare type Initial = F extends keyof URItoVariance ? URItoVariance[F] extends V ? R extends Covariant ? never : unknown : any : any; /** * @since 0.9.2 * @category Type-level */ export declare type Intersect = A extends readonly [ infer Head, ...infer Tail ] ? Intersect : R; export * from 'fp-ts/HKT'; //# sourceMappingURL=HKT.d.ts.map