/** * @since 1.0.0 */ import type * as Option from "@effect/data/Option"; /** * @since 1.0.0 * @category symbols */ export declare const UpstreamPullStrategyTypeId: unique symbol; /** * @since 1.0.0 * @category symbols */ export type UpstreamPullStrategyTypeId = typeof UpstreamPullStrategyTypeId; /** * @since 1.0.0 * @category models */ export type UpstreamPullStrategy = PullAfterNext | PullAfterAllEnqueued; /** * @since 1.0.0 */ export declare namespace UpstreamPullStrategy { /** * @since 1.0.0 * @category models */ interface Variance { readonly [UpstreamPullStrategyTypeId]: { readonly _A: (_: never) => A; }; } } /** * @since 1.0.0 * @category models */ export interface PullAfterNext extends UpstreamPullStrategy.Variance { readonly _tag: "PullAfterNext"; readonly emitSeparator: Option.Option; } /** * @since 1.0.0 * @category models */ export interface PullAfterAllEnqueued extends UpstreamPullStrategy.Variance { readonly _tag: "PullAfterAllEnqueued"; readonly emitSeparator: Option.Option; } /** * @since 1.0.0 * @category constructors */ export declare const PullAfterNext: (emitSeparator: Option.Option) => UpstreamPullStrategy; /** * @since 1.0.0 * @category constructors */ export declare const PullAfterAllEnqueued: (emitSeparator: Option.Option) => UpstreamPullStrategy; /** * Returns `true` if the specified value is an `UpstreamPullStrategy`, `false` * otherwise. * * @since 1.0.0 * @category refinements */ export declare const isUpstreamPullStrategy: (u: unknown) => u is UpstreamPullStrategy; /** * Returns `true` if the specified `UpstreamPullStrategy` is a `PullAfterNext`, * `false` otherwise. * * @since 1.0.0 * @category refinements */ export declare const isPullAfterNext: (self: UpstreamPullStrategy) => self is PullAfterNext; /** * Returns `true` if the specified `UpstreamPullStrategy` is a * `PullAfterAllEnqueued`, `false` otherwise. * * @since 1.0.0 * @category refinements */ export declare const isPullAfterAllEnqueued: (self: UpstreamPullStrategy) => self is PullAfterAllEnqueued; /** * Folds an `UpstreamPullStrategy` into a value of type `Z`. * * @since 1.0.0 * @category folding */ export declare const match: { (options: { readonly onNext: (emitSeparator: Option.Option) => Z; readonly onAllEnqueued: (emitSeparator: Option.Option) => Z; }): (self: UpstreamPullStrategy) => Z; (self: UpstreamPullStrategy, options: { readonly onNext: (emitSeparator: Option.Option) => Z; readonly onAllEnqueued: (emitSeparator: Option.Option) => Z; }): Z; }; //# sourceMappingURL=UpstreamPullStrategy.d.ts.map