import type * as Context from "@effect/data/Context"; import * as Option from "@effect/data/Option"; import * as Cause from "@effect/io/Cause"; import * as Effect from "@effect/io/Effect"; import * as Exit from "@effect/io/Exit"; import type * as Channel from "@effect/stream/Channel"; import type * as ChildExecutorDecision from "@effect/stream/Channel/ChildExecutorDecision"; import type * as UpstreamPullStrategy from "@effect/stream/Channel/UpstreamPullStrategy"; import * as ChannelState from "@effect/stream/internal/channel/channelState"; import * as Continuation from "@effect/stream/internal/channel/continuation"; import * as Subexecutor from "@effect/stream/internal/channel/subexecutor"; import * as core from "@effect/stream/internal/core"; export type ErasedChannel = Channel.Channel; export declare class ChannelExecutor { private _activeSubexecutor; private _cancelled; private _closeLastSubstream; private _currentChannel; private _done; private _doneStack; private _emitted; private _executeCloseLastSubstream; private _input; private _inProgressFinalizer; private _providedEnv; constructor(initialChannel: Channel.Channel, providedEnv: Context.Context | undefined, executeCloseLastSubstream: (effect: Effect.Effect) => Effect.Effect); run(): ChannelState.ChannelState; getDone(): Exit.Exit; getEmit(): OutElem; cancelWith(exit: Exit.Exit): void; clearInProgressFinalizer(): void; storeInProgressFinalizer(finalizer: Effect.Effect | undefined): void; popAllFinalizers(exit: Exit.Exit): Effect.Effect; popNextFinalizers(): Array>; restorePipe(exit: Exit.Exit, prev: ErasedExecutor | undefined): Effect.Effect | undefined; close(exit: Exit.Exit): Effect.Effect | undefined; doneSucceed(value: unknown): ChannelState.ChannelState | undefined; doneHalt(cause: Cause.Cause): ChannelState.ChannelState | undefined; processCancellation(): ChannelState.ChannelState; runBracketOut(bracketOut: core.BracketOut): ChannelState.ChannelState; provide(effect: Effect.Effect): Effect.Effect; runEnsuring(ensuring: core.Ensuring): void; addFinalizer(f: ErasedFinalizer): void; runSubexecutor(): ChannelState.ChannelState | undefined; replaceSubexecutor(nextSubExec: Subexecutor.Subexecutor): void; finishWithExit(exit: Exit.Exit): Effect.Effect; finishSubexecutorWithCloseEffect(subexecutorDone: Exit.Exit, ...closeFuncs: Array<(exit: Exit.Exit) => Effect.Effect | undefined>): ChannelState.ChannelState | undefined; applyUpstreamPullStrategy(upstreamFinished: boolean, queue: ReadonlyArray | undefined>, strategy: UpstreamPullStrategy.UpstreamPullStrategy): readonly [Option.Option, ReadonlyArray | undefined>]; pullFromChild(childExecutor: ErasedExecutor, parentSubexecutor: Subexecutor.Subexecutor, onEmitted: (emitted: unknown) => ChildExecutorDecision.ChildExecutorDecision, subexecutor: Subexecutor.PullFromChild): ChannelState.ChannelState | undefined; finishWithDoneValue(childExecutor: ErasedExecutor, parentSubexecutor: Subexecutor.Subexecutor, doneValue: unknown): void; handleSubexecutorFailure(childExecutor: ErasedExecutor, parentSubexecutor: Subexecutor.Subexecutor, cause: Cause.Cause): ChannelState.ChannelState | undefined; pullFromUpstream(subexecutor: Subexecutor.PullFromUpstream): ChannelState.ChannelState | undefined; performPullFromUpstream(subexecutor: Subexecutor.PullFromUpstream): ChannelState.ChannelState | undefined; drainChildExecutors(subexecutor: Subexecutor.DrainChildExecutors): ChannelState.ChannelState | undefined; } //# sourceMappingURL=channelExecutor.d.ts.map