export interface ArsTableColumn { key: string; label: string; sortable?: boolean; width?: string; align?: "start" | "center" | "end"; render?: (value: unknown, row: Record) => string; } export type ArsTableSelectable = "none" | "single" | "multiple"; declare class ArsTable extends HTMLElement { #private; private _columns; private _data; private _selectedRows; private _sortColumn; private _sortDirection; private _eventsBound; private _scrollStart; private _visibleCount; static get observedAttributes(): string[]; constructor(); connectedCallback(): void; attributeChangedCallback(): void; get columns(): ArsTableColumn[]; set columns(val: ArsTableColumn[]); get data(): Record[]; set data(val: Record[]); get selectedRows(): number[]; get selectable(): ArsTableSelectable; set selectable(val: ArsTableSelectable); get sortable(): boolean; get striped(): boolean; get compact(): boolean; get virtualScroll(): boolean; get autoSort(): boolean; } export { ArsTable, ArsTable as default };