/** * @since 2.0.0 */ import { Extend, Extend1, Extend2, Extend2C, Extend3 } from './Extend' import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3 } from './HKT' /** * @category type classes * @since 2.0.0 */ export interface Comonad extends Extend { readonly extract: (wa: HKT) => A } /** * @category type classes * @since 2.0.0 */ export interface Comonad1 extends Extend1 { readonly extract: (wa: Kind) => A } /** * @category type classes * @since 2.0.0 */ export interface Comonad2 extends Extend2 { readonly extract: (wa: Kind2) => A } /** * @category type classes * @since 2.0.0 */ export interface Comonad2C extends Extend2C { readonly extract: (wa: Kind2) => A } /** * @category type classes * @since 2.0.0 */ export interface Comonad3 extends Extend3 { readonly extract: (wa: Kind3) => A }