41 lines
882 B
TypeScript
41 lines
882 B
TypeScript
/**
|
|
* @since 2.0.0
|
|
*/
|
|
import type * as Types from "./Types.js";
|
|
/**
|
|
* @since 2.0.0
|
|
*/
|
|
export declare const URI: unique symbol;
|
|
/**
|
|
* @since 2.0.0
|
|
*/
|
|
export interface TypeClass<F extends TypeLambda> {
|
|
readonly [URI]?: F;
|
|
}
|
|
/**
|
|
* @since 2.0.0
|
|
*/
|
|
export interface TypeLambda {
|
|
readonly In: unknown;
|
|
readonly Out2: unknown;
|
|
readonly Out1: unknown;
|
|
readonly Target: unknown;
|
|
}
|
|
/**
|
|
* @since 2.0.0
|
|
*/
|
|
export type Kind<F extends TypeLambda, In, Out2, Out1, Target> = F extends {
|
|
readonly type: unknown;
|
|
} ? (F & {
|
|
readonly In: In;
|
|
readonly Out2: Out2;
|
|
readonly Out1: Out1;
|
|
readonly Target: Target;
|
|
})["type"] : {
|
|
readonly F: F;
|
|
readonly In: Types.Contravariant<In>;
|
|
readonly Out2: Types.Covariant<Out2>;
|
|
readonly Out1: Types.Covariant<Out1>;
|
|
readonly Target: Types.Invariant<Target>;
|
|
};
|
|
//# sourceMappingURL=HKT.d.ts.map
|