import { FetchOptions, FetchResponse } from '../../composables';
import { Plugin, ShallowReactive } from 'vue';
type RequestEntry = {
    promise: Promise<any>;
    signal?: RequestInit['signal'];
};
type CacheEntry = {
    response: FetchResponse<any>;
    expiry: number;
};
export declare function useFetchPlugin(): {
    baseOptions: FetchOptions;
    activeRequests: ShallowReactive<Map<string, RequestEntry>>;
    responseCache: ShallowReactive<Map<string, CacheEntry>>;
};
export declare const FetchPlugin: Plugin<[FetchOptions?]>;
export {};
