// Type definitions for cli-table 0.3 // Project: https://github.com/Automattic/cli-table // Definitions by: AryloYeung // Antoni Spaanderman // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 4.9 type HorizontalTableRow = string[]; type VerticalTableRow = Record; type CrossTableRow = Record; type TableRow = HorizontalTableRow | VerticalTableRow | CrossTableRow; interface TableOptions { rows?: T[]; chars?: { [k in | 'top' | 'top-mid' | 'top-left' | 'top-right' | 'bottom' | 'bottom-mid' | 'bottom-left' | 'bottom-right' | 'left' | 'left-mid' | 'mid' | 'mid-mid' | 'right' | 'right-mid' | 'middle']?: string; }; truncate?: string; colors?: boolean; colWidths?: number[]; colAligns?: Array<'left' | 'middle' | 'right'>; style?: { 'padding-left'?: number; 'padding-right'?: number; head?: string[]; border?: string[]; compact?: boolean; }; head?: string[]; } declare class Table extends Array { /** * Table constructor * * @param options * @api public */ constructor(options?: T extends CrossTableRow ? never : TableOptions); constructor(options: T extends CrossTableRow ? TableOptions & { head: ['', ...string[]] } : never); /** * Width getter * * @return width * @api public */ get width(): number; /** * Render to a string. * * @return table representation * @api public */ render(): string; /** * Render to a string. * * @return table representation * @api public */ toString(): string; static readonly version: string; } export = Table;