import type { AsyncWaveOptions, PromiseCircularityError } from 'async-wave'; export type Task = R | ((input: R) => R | Promise | void | Promise); export type HookOptionProps = { initialLazyDelay: number; successLazyDelay: number; }; export type HookOptions = { options: Partial; }; export type SyncOnBefore = { onBefore: () => void; }; export type Options = Partial, 'onBefore'> & SyncOnBefore & Partial>; export type StateInfo = { isLoading: boolean; data: R | null; error: PromiseCircularityError | null; isError: boolean; reset: () => void; }; export declare const ACTION_TYPES: { readonly LOADING: "loading"; readonly SUCCESS: "success"; readonly ERROR: "error"; readonly RESET: "reset"; }; export interface TaskState { isLoading: boolean; data: R | null; error: PromiseCircularityError | null; resetTrigger: number; } export type TaskAction = { type: typeof ACTION_TYPES.LOADING; } | { type: typeof ACTION_TYPES.SUCCESS; payload: R; } | { type: typeof ACTION_TYPES.ERROR; payload: PromiseCircularityError; } | { type: typeof ACTION_TYPES.RESET; };