import { Observable, ObservableInput, OperatorFunction, Subscriber, TeardownLogic } from 'rxjs';
/**
 * Creates an Observable just like RxJS `create`, but exposes an AbortSignal in addition to the subscriber
 */
export declare const create: <T>(subscribe?: ((subscriber: Subscriber<T>, signal: AbortSignal) => TeardownLogic) | undefined) => Observable<T>;
/**
 * Easiest way to wrap an abortable async function into a Promise.
 * The factory is called every time the Observable is subscribed to, and the AbortSignal is aborted on unsubscription.
 */
export declare const defer: <T>(factory: (signal: AbortSignal) => ObservableInput<T>) => Observable<T>;
/**
 * Returns a Promise that resolves with the last emission of the given Observable,
 * rejects if the Observable errors or rejects with an `AbortError` when the AbortSignal is aborted.
 */
export declare const toPromise: <T>(observable: Observable<T>, signal?: AbortSignal | undefined) => Promise<T>;
/**
 * Calls `next` for every emission and returns a Promise that resolves when the Observable completed, rejects if the
 * Observable errors or rejects with an `AbortError` when the AbortSignal is aborted.
 */
export declare const forEach: <T>(source: Observable<T>, next: (value: T) => void, signal?: AbortSignal | undefined) => Promise<void>;
/**
 * Like RxJS `switchMap`, but passes an AbortSignal that is aborted when the source emits another element.
 */
export declare const switchMap: <T, R>(project: (value: T, index: number, abortSignal: AbortSignal) => ObservableInput<R>) => OperatorFunction<T, R>;
/**
 * Like RxJS `concatMap`, but passes an AbortSignal that is aborted when the returned Observable is unsubscribed from.
 */
export declare const concatMap: <T, R>(project: (value: T, index: number, abortSignal: AbortSignal) => ObservableInput<R>) => OperatorFunction<T, R>;
/**
 * Like RxJS `mergeMap`, but passes an AbortSignal that is aborted when the returned Observable is unsubscribed from.
 */
export declare const mergeMap: <T, R>(project: (value: T, index: number, abortSignal: AbortSignal) => ObservableInput<R>) => OperatorFunction<T, R>;
//# sourceMappingURL=index.d.ts.map