import type { OutputFormat } from './types.js'; /** * Check if colors should be disabled. * Respects NO_COLOR env var and --no-color flag. */ export declare const shouldDisableColors: () => boolean; /** * Color utilities that respect NO_COLOR. */ declare const colors: { dim: (str: string) => string; bold: (str: string) => string; cyan: (str: string) => string; green: (str: string) => string; yellow: (str: string) => string; red: (str: string) => string; blue: (str: string) => string; magenta: (str: string) => string; gray: (str: string) => string; }; export { colors }; /** * Column definition for table formatting. */ export interface ColumnDef { key: keyof T | string; header: string; width?: number; align?: 'left' | 'center' | 'right'; format?: (value: unknown, row: T) => string; } /** * Format data as a colored table. */ export declare const formatTable: >(data: T[], columns: ColumnDef[]) => string; /** * Format data as plain text (one item per line). */ export declare const formatPlain: >(data: T[], primaryKey?: keyof T, secondaryKey?: keyof T) => string; /** * Format a single item as a key-value table. */ export declare const formatKeyValue: (data: Record) => string; /** * Priority label formatter with colors. */ export declare const formatPriority: (priority: number) => string; /** * Truncate string to max length with ellipsis. */ export declare const truncate: (str: string | undefined | null, maxLength: number) => string; /** * Format progress as a percentage with color. */ export declare const formatProgress: (progress: number) => string; /** * Generic formatter that outputs data in the specified format. */ export declare const formatOutput: >(format: OutputFormat, data: T | T[], options?: { columns?: ColumnDef[]; primaryKey?: keyof T; secondaryKey?: keyof T; }) => string;