import type { Observable } from 'rxjs';
import type * as OR from '../http/ObservableResource';
import * as MRE from '../http/Resource';
/**
 * @deprecated
 */
export declare function useResourceFetcher<F extends (...p: any) => OR.ObservableResource<E, A>, RE extends MRE.Resource<E, A>, MA extends ((r: MRE.ResourceAcknowledged<E, A>) => MR) | undefined, MR extends {
    _tag: unknown;
} = MA extends (...c: any) => any ? ReturnType<MA> : never, E = F extends (...p: any) => OR.ObservableResource<infer T, any> ? T : never, A = F extends (...p: any) => OR.ObservableResource<any, infer T> ? T : never, P extends Array<unknown> = Parameters<F>>(fetch: F, options?: {
    notifierTakeUntil?: Observable<unknown>;
    iniState?: RE;
    mapAcknowledged?: MA;
}): [MA extends undefined ? MRE.Resource<E, A> : MR | MRE.ResourceInit | MRE.ResourceSubmitted, (...p: P) => void];
