import { HetznerRobotClient } from "../robot/client.js"; export interface ActionOptions { json?: boolean; password?: string; user?: string; yes?: boolean; } /** * Handle errors from action wrappers consistently. * Exits with code 0 for user-initiated prompt exits, code 1 for all other errors. */ export declare function handleActionError(err: unknown): never; export declare function asyncAction(fn: (client: HetznerRobotClient, ...args: T) => Promise): (...args: [...T, ActionOptions]) => Promise; /** * Output data as JSON or formatted table based on options. */ export declare function output(data: T, formatter: (data: T) => string, options: { json?: boolean; }): void; /** * Confirm destructive action unless --yes flag is set. * Returns true if confirmed, false if aborted. */ export declare function confirmAction(message: string, options: { yes?: boolean; }, defaultValue?: boolean): Promise;