/**
 * CLI Output Formatting
 *
 * Provides consistent output formatting for CLI commands.
 */
export interface OutputOptions {
    /** Output in JSON format for machine parsing */
    json?: boolean;
    /** Minimal output (suppress non-essential messages) */
    quiet?: boolean;
}
export interface OutputContext {
    success(message: string, data?: unknown): void;
    /**
     * Non-fatal failure output. Does not exit the process.
     * Use when the command should continue but should still be considered failed overall.
     */
    fail(message: string, data?: unknown): void;
    /**
     * Emit a single "final" result. In JSON mode this prints one JSON envelope to stdout.
     * In human mode this maps to success/fail formatting.
     */
    result(success: boolean, message: string, data?: unknown): void;
    error(message: string, details?: unknown): never;
    warn(message: string, data?: unknown): void;
    info(message: string, data?: unknown): void;
    table(headers: string[], rows: string[][]): void;
    json(data: unknown): void;
    progress(current: number, total: number, message: string): void;
}
/**
 * Create output context for CLI command
 *
 * @param options - Output options
 * @returns Output context with formatting methods
 */
export declare function createOutput(options: OutputOptions): OutputContext;
/**
 * Format file size for display
 */
export declare function formatSize(bytes: number): string;
/**
 * Format duration for display
 */
export declare function formatDuration(ms: number): string;
