import { Source } from "../_core";
import { Transaction } from "../_tx";
import { Operator } from "./_base";
export declare abstract class JoinOperator extends Operator {
private forked;
private errs;
private head;
private tail;
private n;
private hasErr;
constructor(origin: Source);
dispose(): void;
startJoin(tx: Transaction): void;
abortJoin(): void;
join(tx: Transaction): void;
protected fork(tx: Transaction): void;
protected isForked(): boolean;
protected forkNext(tx: Transaction, val: B): void;
protected forkError(tx: Transaction, err: Error): void;
protected forkEnd(tx: Transaction): void;
protected forkCustom(tx: Transaction, val: any): void;
protected joinNext(tx: Transaction, val: B): void;
protected joinError(tx: Transaction, err: Error): void;
protected joinEnd(tx: Transaction): void;
protected joinCustom(tx: Transaction, val: any): void;
private handleFE;
private fe;
}