import * as React from 'react';
/**
 * Schema for a table column
 */
export interface TableColumnSchema {
    /** Unique key for the column, maps to data field */
    key: string;
    /** Display label for the column header */
    label: string;
    /** Whether the column is sortable (not yet implemented) */
    sortable?: boolean;
    /** Whether cells in this column are editable (not yet implemented) */
    editable?: boolean;
    /** Column width - can be number (pixels) or string (e.g., '100px', '20%') */
    width?: number | string;
}
/**
 * Schema for configuring an AITable
 */
export interface TableBlockSchema {
    /** Unique identifier for the component instance */
    id: string;
    /** Optional title displayed above the table */
    title?: string;
    /** Column definitions */
    columns: TableColumnSchema[];
    /** Array of row data */
    data: Record<string, unknown>[];
    /** Whether rows can be selected with checkboxes */
    selectable?: boolean;
    /** Pagination configuration (not yet implemented) */
    pagination?: boolean | {
        pageSize: number;
    };
}
/**
 * Props for AITable
 */
export interface AITableProps {
    /** Schema defining the table configuration */
    schema: TableBlockSchema;
    /** Additional class names */
    className?: string;
}
/**
 * AITable - Renders interactive data tables from JSON schema.
 *
 * Supports row selection with checkboxes and emits interaction events
 * through the AIInteractionContext when selections change.
 */
export declare function AITable({ schema, className, }: AITableProps): React.ReactElement;
export declare namespace AITable {
    var displayName: string;
}
export default AITable;
