import type { ApiResponse, SuccessResponse, ErrorResponse } from '../../types/index.js'; export type OutputFormat = 'json' | 'table'; export interface TableColumn { key: keyof T | string; header: string; width?: number; formatter?: (value: unknown, row: T) => string; } export interface FormatterOptions { format: OutputFormat; verbose?: boolean; quiet?: boolean; } export declare class OutputFormatter { private options; constructor(options: FormatterOptions); /** * Output an API response in the configured format */ output(response: ApiResponse, columns?: TableColumn[]): void; /** * Output data as JSON */ private outputJson; /** * Output data as a table */ private outputTable; /** * Render a table from data */ private renderTable; /** * Render key-value pairs for a single object */ private renderKeyValue; /** * Output an error response */ private outputError; /** * Output a success message */ success(message: string): void; /** * Output an info message */ info(message: string): void; /** * Output a warning message */ warn(message: string): void; /** * Output a verbose/debug message */ debug(message: string): void; /** * Format a value for display */ private formatValue; /** * Get a nested value from an object using dot notation */ private getNestedValue; /** * Auto-generate columns from an object */ private autoGenerateColumns; /** * Format a key as a header */ private formatHeader; } /** * Create a success response */ export declare function createSuccessResponse(data: T, accountId?: string, pagination?: { has_next: boolean; cursor?: string; }): SuccessResponse; /** * Create an error response */ export declare function createErrorResponse(code: string, message: string, details?: Record, retryAfter?: number): ErrorResponse; //# sourceMappingURL=formatter.d.ts.map