import { CreateActionOptions } from "./create-action";
import { ActionCallbacks, LoaderServerAction } from "./types";
export default function useAction<T, P = never>(action: LoaderServerAction<T, P>, options?: CreateActionOptions & ActionCallbacks<T>): readonly [{
    execute: import("./types").ActionInferred<T, P>;
    cancel: () => void;
    debounce: (...args: P extends never ? [] : [...P extends any[] ? P : [P], (ActionCallbacks<T> | undefined)?]) => void;
    throttle: (...args: P extends never ? [] : [...P extends any[] ? P : [P], (ActionCallbacks<T> | undefined)?]) => void;
    progress: import("./create-action").ActionProgress;
}, boolean];
