/** * Dual-mode Output * Human-readable (tables, colors, spinners) vs --json (structured stdout). */ import { Ora } from 'ora'; export declare function setJsonMode(enabled: boolean): void; export declare function isJsonMode(): boolean; /** * Quiet mode (--quiet/-q) suppresses non-essential human output: info(), * warn(), spinners, and the data fields under success(). Errors and the * one-line success message always print. JSON mode output is NEVER * affected by quiet — machine consumers get the full payload. */ export declare function setQuietMode(enabled: boolean): void; export declare function isQuietMode(): boolean; /** Verbose mode (--verbose/-v) enables debug() lines on stderr. */ export declare function setVerbose(enabled: boolean): void; export declare function isVerbose(): boolean; /** Dim '[debug] …' line to stderr; only when verbose and not in JSON mode. */ export declare function debug(message: string): void; export declare function success(message: string, data?: any): void; export declare function error(message: string, details?: any): void; export declare function info(message: string): void; export declare function warn(message: string): void; /** Remind user that subgraph data lags behind on-chain state after writes */ export declare function subgraphLagWarning(): void; export declare function table(headers: string[], rows: string[][]): void; export declare function json(data: any): void; export declare function spinner(message: string): Ora; /** * Print an aligned "Key: value" block, e.g. a pre-send transaction summary. * Keys are padded to the longest key so values line up; undefined values are * skipped. No-op in JSON mode (callers emit structured payloads separately). */ export declare function keyValueBlock(title: string | null, fields: Record): void;