type AsyncFunction<T> = () => Promise<T>;
type AsyncState<T> = {
    loading: boolean;
    error: Error | null;
    value: T | null;
    retryCount: number;
    retry: () => void;
    cancel: () => void;
};
export declare function useAsyncRetry<T>(asyncFunction: AsyncFunction<T>, options?: {
    retryDelay?: number;
    maxRetries?: number;
}): AsyncState<T>;
export {};
