import { DataTableConfig } from './types';
export type { CellRenderer, ColumnDef, DataTableConfig, PaginationConfig, SortDirection, SortState, } from './types';
export declare class DataTable {
    private readonly container;
    private readonly columns;
    private readonly config;
    private rows;
    private sortState;
    private currentPage;
    private wrapperEl;
    private tableEl;
    private liveRegion;
    private readonly tableId;
    private readonly captionId;
    private focusedRow;
    private focusedCol;
    constructor(config: DataTableConfig);
    /** Replace all table data and re-render */
    setData(rows: unknown[][]): void;
    /** Append rows to existing data and re-render */
    appendRows(rows: unknown[][]): void;
    /** Show or hide a loading overlay on the table */
    setLoading(loading: boolean): void;
    /** Clear all data from the table */
    clear(): void;
    /** Get the current number of rows */
    getRowCount(): number;
    /** Remove the table from the DOM and clean up */
    destroy(): void;
    /** Announce an update to screen readers */
    private announceUpdate;
    /** Get the currently visible page of rows */
    private getPageRows;
    /** Get total page count */
    private getTotalPages;
    /** Handle column header click for sorting */
    private handleSort;
    /** Get sorted rows based on current sort state */
    private getSortedRows;
    /** Build the sort icon HTML for a column header */
    private buildSortIcon;
    /** Get the sort direction label for ARIA */
    private getSortLabel;
    /** Handle keyboard navigation within the table */
    private handleKeyDown;
    /** Focus a specific cell */
    private focusCell;
    /** Render the full table into the container */
    private render;
    /** Build the pagination controls element */
    private buildPagination;
    /** Build the export buttons bar */
    private buildExportBar;
}
//# sourceMappingURL=index.d.ts.map