interface RequestOptions<T> extends RequestInit {
    body?: RequestInit['body'] | any;
    retryCount?: number;
    timeout?: number;
    cacheTimeout?: number;
    pollingInterval?: number;
    maxPollingAttempts?: number;
    shouldStopPolling?: (response: T) => boolean;
}
export declare function withCache<T>(key: string, fetcher: () => Promise<T>, timeout?: number): Promise<T>;
export default function request<T>(url: string, options?: RequestOptions<T>): Promise<T>;
export {};
