import type { SnackbarVariant } from "../contexts/SnackbarContext";
export interface AsyncRequestOptions {
    successMessage?: string;
    errorMessage?: string;
    successVariant?: SnackbarVariant;
    errorVariant?: SnackbarVariant;
    onSuccess?: (data: any) => void;
    onError?: (error: any) => void;
    onFinally?: () => void;
}
export interface UseAsyncRequestReturn {
    isLoading: boolean;
    execute: <T>(requestFn: () => Promise<T>) => Promise<T | undefined>;
    setLoading: (loading: boolean) => void;
}
export declare function useAsyncRequest(options?: AsyncRequestOptions): UseAsyncRequestReturn;
//# sourceMappingURL=useAsyncRequest.d.ts.map