import { AsyncIterableX } from '../asynciterablex';
import { OperatorAsyncFunction } from '../../interfaces';
export declare class TakeWhileAsyncIterable<TSource> extends AsyncIterableX<TSource> {
    private _source;
    private _predicate;
    constructor(source: AsyncIterable<TSource>, predicate: (value: TSource, index: number) => boolean | Promise<boolean>);
    [Symbol.asyncIterator](): AsyncGenerator<TSource, void, unknown>;
}
export declare function takeWhile<T, S extends T>(predicate: (value: T, index: number) => value is S): OperatorAsyncFunction<T, S>;
export declare function takeWhile<T>(predicate: (value: T, index: number) => boolean | Promise<boolean>): OperatorAsyncFunction<T, T>;
