import * as A from "@effect-ts/core/Collections/Immutable/Chunk"; import * as HM from "@effect-ts/core/Collections/Immutable/HashMap"; import { _R } from "@effect-ts/core/Effect"; import type * as DS from "../../DataSource/index.js"; import type { BlockedRequest } from "../BlockedRequest/index.js"; import type { BlockedRequests } from "../BlockedRequests/index.js"; import { Sequential } from "../Sequential/index.js"; /** * A `Parallel[R]` maintains a mapping from data sources to requests from * those data sources that can be executed in parallel. */ export declare class Parallel { readonly map: HM.HashMap, A.Chunk>>; readonly [_R]: (r: R) => void; constructor(map: HM.HashMap, A.Chunk>>); } /** * Combines this collection of requests that can be executed in parallel * with that collection of requests that can be executed in parallel to * return a new collection of requests that can be executed in parallel. */ export declare function add(that: Parallel): (self: Parallel) => Parallel; export declare function add_(self: Parallel, that: Parallel): Parallel; /** * Returns whether this collection of requests is empty. */ export declare function isEmpty(self: Parallel): boolean; /** * Returns a collection of the data sources that the requests in this * collection are from. */ export declare function keys(self: Parallel): Iterable>; /** * Converts this collection of requests that can be executed in parallel to * a batch of requests in a collection of requests that must be executed * sequentially. */ export declare function sequential(self: Parallel): Sequential; /** * Converts this collection of requests that can be executed in parallel to * an `Iterable` containing mappings from data sources to requests from * those data sources. */ export declare function toIterable(self: Parallel): Iterable, A.Chunk>>]>; /** * The empty collection of requests. */ export declare const empty: Parallel; /** * Constructs a new collection of requests containing a mapping from the * specified data source to the specified request. */ export declare function apply(dataSource: DS.DataSource, blockedRequest: BlockedRequest): Parallel; //# sourceMappingURL=index.d.ts.map