import type { ListTable } from '../types.ts';
/**
 * The list formatter formats the list of commands and flags. The option column
 * is justified to have same width across all the rows.
 *
 * @example
 * ```ts
 * const formatter = new ListFormatter(tables)
 * const formatted = formatter.format() // Array of formatted tables
 * ```
 */
export declare class ListFormatter {
    #private;
    /**
     * Create a new list formatter
     *
     * @param tables - Array of tables to format
     */
    constructor(tables: ListTable[]);
    /**
     * Format all tables into an array of formatted table objects
     *
     * @param terminalWidth - Width of the terminal for text wrapping
     *
     * @example
     * ```ts
     * formatter.format() // [{ heading: 'Commands:', rows: [...] }]
     * ```
     */
    format(terminalWidth?: number): {
        heading: string;
        rows: string[];
    }[];
}
