export type MessageKind = 'info' | 'success' | 'error' | 'warning'; export interface ActionMessage { kind: MessageKind; text: string; } export interface UseAsyncAction { busy: boolean; message: ActionMessage | null; run: (fn: () => string | Promise) => Promise; setMessage: (m: ActionMessage | null) => void; } export declare function useAsyncAction(): UseAsyncAction;