import { Observable } from '../tools/observable';
import type { ClocksState } from '../tools/utils/timeUtils';
interface FetchContextBase {
    method: string;
    startClocks: ClocksState;
    input: unknown;
    init?: RequestInit;
    url: string;
    handlingStack?: string;
}
export interface FetchStartContext extends FetchContextBase {
    state: 'start';
}
export interface FetchResolveContext extends FetchContextBase {
    state: 'resolve';
    status: number;
    response?: Response;
    responseType?: string;
    isAborted: boolean;
    error?: Error;
}
export type FetchContext = FetchStartContext | FetchResolveContext;
export declare function initFetchObservable(): Observable<FetchContext>;
export declare function resetFetchObservable(): void;
export {};
