/** * @since 2.11.0 */ import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT' import { Pointed, Pointed1, Pointed2, Pointed2C, Pointed3, Pointed3C, Pointed4 } from './Pointed' /** * @category model * @since 2.11.0 */ export interface Zero { readonly URI: F readonly zero: () => HKT } /** * @category model * @since 2.11.0 */ export interface Zero1 { readonly URI: F readonly zero: () => Kind } /** * @category model * @since 2.11.0 */ export interface Zero2 { readonly URI: F readonly zero: () => Kind2 } /** * @category model * @since 2.11.0 */ export interface Zero2C { readonly URI: F readonly _E: E readonly zero: () => Kind2 } /** * @category model * @since 2.11.0 */ export interface Zero3 { readonly URI: F readonly zero: () => Kind3 } /** * @category model * @since 2.11.0 */ export interface Zero3C { readonly URI: F readonly _E: E readonly zero: () => Kind3 } /** * @category model * @since 2.11.0 */ export interface Zero4 { readonly URI: F readonly zero: () => Kind4 } /** * @category do notation * @since 2.11.0 */ export declare function guard( F: Zero4, P: Pointed4 ): (b: boolean) => Kind4 export declare function guard(F: Zero3, P: Pointed3): (b: boolean) => Kind3 export declare function guard( F: Zero3C, P: Pointed3C ): (b: boolean) => Kind3 export declare function guard(F: Zero2, P: Pointed2): (b: boolean) => Kind2 export declare function guard( F: Zero2C, P: Pointed2C ): (b: boolean) => Kind2 export declare function guard(F: Zero1, P: Pointed1): (b: boolean) => Kind export declare function guard(F: Zero, P: Pointed): (b: boolean) => HKT