import { Input } from "./async";
import { QueueTask } from "./microtask";
export interface UnionOptions {
    queueTask?: QueueTask;
    queueMicrotask?: QueueTask;
    reuseInFlight?: boolean;
    eagerInitialTask?: boolean;
}
export interface AsyncIteratorSetResult<T> {
    done: boolean;
    value?: T;
    initialIteration: symbol;
    resolvedIteration?: symbol;
    iterator: AsyncIterator<T>;
    promise?: unknown;
}
export declare type UnionInput<T> = Input<Input<T>>;
export declare function union<T>(source: UnionInput<T>, options?: UnionOptions): AsyncIterable<(T | undefined)[]>;
//# sourceMappingURL=union.d.ts.map