import type { Either } from "../Either"; import type { Tag } from "../Has"; import type { Option } from "../Option"; import type { Sync } from "../Sync"; import { Managed } from "../Task/Managed/model"; import type { Task } from "../Task/Task"; import type { XPure } from "../XPure"; export declare type _A = [T] extends [ { ["_A"]: () => infer A; } ] ? A : never; export declare type _R = [T] extends [ { ["_R"]: (_: infer R) => void; } ] ? R : never; export declare type _E = [T] extends [ { ["_E"]: () => infer E; } ] ? E : never; export declare const isEither: (u: unknown) => u is Either; export declare const isOption: (u: unknown) => u is Option; export declare const isTag: (u: unknown) => u is Tag; export declare const isXPure: (u: unknown) => u is XPure; export declare const isSync: (u: unknown) => u is Sync; export declare const isManaged: (u: Task | Managed) => u is Managed; //# sourceMappingURL=utils.d.ts.map