import { Maybe } from "@tsplus/stdlib/data/Maybe/definition";
/**
* @tsplus type effect/core/stream/Channel/UpstreamPullStrategy
*/
export type UpstreamPullStrategy = PullAfterNext | PullAfterAllEnqueued;
export declare class PullAfterNext {
readonly emitSeparator: Maybe;
readonly _tag = "PullAfterNext";
constructor(emitSeparator: Maybe);
}
export declare class PullAfterAllEnqueued {
readonly emitSeparator: Maybe;
readonly _tag = "PullAfterAllEnqueued";
constructor(emitSeparator: Maybe);
}
/**
* @tsplus type effect/core/stream/Channel/UpstreamPullStrategy.Ops
*/
export interface UpstreamPullStrategyOps {
}
export declare const UpstreamPullStrategy: UpstreamPullStrategyOps;
/**
* @tsplus unify effect/core/stream/Channel/UpstreamPullStrategy
*/
export declare function unifyUpstreamPullStrategy>(self: X): UpstreamPullStrategy<[X] extends [UpstreamPullStrategy] ? AX : never>;
/**
* @tsplus static effect/core/stream/Channel/UpstreamPullStrategy.Ops PullAfterNext
* @tsplus location "@effect/core/stream/Channel/UpstreamPullStrategy"
*/
export declare function pullAfterNext(emitSeparator: Maybe): UpstreamPullStrategy;
/**
* @tsplus static effect/core/stream/Channel/UpstreamPullStrategy.Ops PullAfterAllEnqueued
* @tsplus location "@effect/core/stream/Channel/UpstreamPullStrategy"
*/
export declare function pullAfterAllEnqueued(emitSeparator: Maybe): UpstreamPullStrategy;
//# sourceMappingURL=UpstreamPullStrategy.d.ts.map