type ControlFlowHandlers<TReturn> = {
    onReturn?: (sender?: AsyncIterator<unknown, TReturn, unknown>, value?: TReturn | PromiseLike<TReturn>) => Promise<TReturn> | TReturn;
    onThrow?: (sender?: AsyncIterator<unknown, TReturn, unknown>, e?: unknown) => Promise<TReturn> | TReturn;
};
export declare function makeAsyncGeneratorPair<T, TReturn = unknown, TNext = unknown>(consumerHandlers?: ControlFlowHandlers<TReturn>, producerHandlers?: ControlFlowHandlers<TReturn>): [AsyncGenerator<T, TReturn, TNext>, AsyncGenerator<TNext, TReturn, T>];
export {};
