import { Observable } from 'rxjs';
/**
 * This pipe emits an AsyncRequest<TValue, TError> type
 */
export declare const asAsyncRequest: <TValue, TError>() => (source: Observable<any>) => Observable<AsyncRequest<TValue, TError>>;
export declare type AsyncRequest<TValue, TError> = RequestLoading | RequestSuccess<TValue> | RequestError<TError>;
export interface RequestLoading {
    state: "loading";
}
export interface RequestSuccess<T> {
    state: "success";
    value: T;
}
export interface RequestError<T> {
    state: "error";
    value: T;
}
export declare const RequestLoading: () => RequestLoading;
export declare const RequestSuccess: <T>(value: T) => RequestSuccess<T>;
export declare const RequestError: <T>(value: T) => RequestError<T>;
