import { _A } from "../../../Effect/commons.js"; import * as IO from "../../../IO/index.js"; import * as St from "../../../Structural/index.js"; export declare const _ParSeqBrand: unique symbol; export declare type _ParSeqBrand = typeof _ParSeqBrand; export declare function isParSeq(u: unknown): u is ParSeq; /** * `ParSeq` is a data type that represents some notion of "events" that can * take place in parallel or in sequence. For example, a `ParSeq` * parameterized on some error type could be used to model the potentially * multiple ways that an application can fail. On the other hand, a ParSeq` * parameterized on some request type could be used to model a collection of * requests to external data sources, some of which could be executed in * parallel and some of which must be executed sequentially. */ export declare type ParSeq = Empty | Single | Then | Both; export declare class Empty implements St.HasEquals, St.HasHash { readonly _tag = "Empty"; readonly [_A]: () => never; readonly [_ParSeqBrand]: _ParSeqBrand; [St.equalsSym](that: unknown): boolean; get [St.hashSym](): number; equalsSafe(that: ParSeq): IO.IO; } export declare class Then implements St.HasEquals, St.HasHash { readonly left: ParSeq; readonly right: ParSeq; readonly _tag = "Then"; readonly [_A]: () => never; readonly [_ParSeqBrand]: _ParSeqBrand; constructor(left: ParSeq, right: ParSeq); [St.equalsSym](that: unknown): boolean; get [St.hashSym](): number; equalsSafe(that: ParSeq): IO.IO; private eq; } export declare class Both implements St.HasEquals, St.HasHash { readonly left: ParSeq; readonly right: ParSeq; readonly _tag = "Both"; readonly [_A]: () => never; readonly [_ParSeqBrand]: _ParSeqBrand; constructor(left: ParSeq, right: ParSeq); [St.equalsSym](that: unknown): boolean; get [St.hashSym](): number; equalsSafe(that: ParSeq): IO.IO; private eq; } export declare class Single implements St.HasEquals, St.HasHash { readonly a: A; readonly _tag = "Single"; readonly [_A]: () => never; readonly [_ParSeqBrand]: _ParSeqBrand; constructor(a: A); [St.equalsSym](that: unknown): boolean; get [St.hashSym](): number; equalsSafe(that: ParSeq): IO.IO; } /** * Combines this collection of events with that collection of events to * return a new collection of events that represents this collection of * events in parallel with that collection of events. */ export declare function combinePar_(left: ParSeq, right: ParSeq): ParSeq; /** * Combines this collection of events with that collection of events to * return a new collection of events that represents this collection of * events in parallel with that collection of events. * * @ets_data_first combinePar_ */ export declare function combinePar(right: ParSeq): (left: ParSeq) => ParSeq; /** * Combines this collection of events with that collection of events to * return a new collection of events that represents this collection of * events followed by that collection of events. */ export declare function combineSeq_(left: ParSeq, right: ParSeq): ParSeq; /** * Combines this collection of events with that collection of events to * return a new collection of events that represents this collection of * events followed by that collection of events. * * @ets_data_first combineSeq_ */ export declare function combineSeq(right: ParSeq): (left: ParSeq) => ParSeq; /** * Constructs a new collection of events that contains the specified event. */ export declare function single(a: A): ParSeq; /** * Empty collection of events */ export declare const empty: ParSeq; /** * Checks if the ParSeq is empty */ export declare function isEmpty(self: ParSeq): boolean; //# sourceMappingURL=primitives.d.ts.map