/**
 * InkTable - A table component for Ink (React for CLI)
 * Inspired by ink-table but integrated directly without ESM issues
 */
import React from 'react';
export type ScalarValue = string | number | boolean | null | undefined;
export type ScalarDict = Record<string, ScalarValue>;
export interface TableProps<T extends ScalarDict> {
    /** Array of row objects */
    data: T[];
    /** Specific columns to display (defaults to all keys from first row) */
    columns?: (keyof T)[];
    /** Cell padding (default: 1) */
    padding?: number;
    /** Border style: 'single' | 'double' | 'rounded' | 'none' */
    borderStyle?: 'single' | 'double' | 'rounded' | 'none';
    /** Max column width (default: 40) */
    maxColumnWidth?: number;
}
export declare function InkTable<T extends ScalarDict>({ data, columns: columnsProp, padding, borderStyle, maxColumnWidth, }: TableProps<T>): React.ReactElement | null;
export interface MarkdownTableData {
    headers: string[];
    rows: Record<string, string>[];
    alignments?: ('left' | 'center' | 'right')[];
}
export declare function MarkdownTable({ data, borderStyle, }: {
    data: MarkdownTableData;
    borderStyle?: 'single' | 'double' | 'rounded' | 'none';
}): React.ReactElement | null;
export default InkTable;
