import { A as InferInputOrDefault, M as StandardSchemaV1 } from "./index.types-CqcWrJ4z.mjs";
import {
	a as HookShorthandStatus,
	c as InferUseStateActionHookReturn,
	d as UseStateActionHookReturn,
	i as HookSafeStateActionFn,
	l as UseActionHookReturn,
	n as HookCallbacks,
	o as InferUseActionHookReturn,
	r as HookSafeActionFn,
	s as InferUseOptimisticActionHookReturn,
	t as HookActionStatus,
	u as UseOptimisticActionHookReturn,
} from "./hooks.types-BWkq1TFG.mjs";

//#region src/hooks.d.ts
/**
 * Use the action from a Client Component via hook.
 * @param safeActionFn The action function
 * @param cb Optional base utils and callbacks
 *
 * {@link https://next-safe-action.dev/docs/execute-actions/hooks/useaction See docs for more information}
 */
declare const useAction: <ServerError, S extends StandardSchemaV1 | undefined, CVE, Data>(
	safeActionFn: HookSafeActionFn<ServerError, S, CVE, Data>,
	cb?: HookCallbacks<ServerError, S, CVE, Data>
) => UseActionHookReturn<ServerError, S, CVE, Data>;
/**
 * Use the action from a Client Component via hook, with optimistic data update.
 * @param safeActionFn The action function
 * @param utils Required `currentData` and `updateFn` and optional callbacks
 *
 * {@link https://next-safe-action.dev/docs/execute-actions/hooks/useoptimisticaction See docs for more information}
 */
declare const useOptimisticAction: <ServerError, S extends StandardSchemaV1 | undefined, CVE, Data, State>(
	safeActionFn: HookSafeActionFn<ServerError, S, CVE, Data>,
	utils: {
		currentState: State;
		updateFn: (state: State, input: InferInputOrDefault<S, void>) => State;
	} & HookCallbacks<ServerError, S, CVE, Data>
) => UseOptimisticActionHookReturn<ServerError, S, CVE, Data, State>;
//#endregion
export {
	HookActionStatus,
	HookCallbacks,
	HookSafeActionFn,
	HookSafeStateActionFn,
	HookShorthandStatus,
	InferUseActionHookReturn,
	InferUseOptimisticActionHookReturn,
	InferUseStateActionHookReturn,
	UseActionHookReturn,
	UseOptimisticActionHookReturn,
	UseStateActionHookReturn,
	useAction,
	useOptimisticAction,
};
//# sourceMappingURL=hooks.d.mts.map
