import { EventEmitter } from "../../stencil-public-runtime";
import { CellPosition, type GridApi } from "ag-grid-community";
export declare class Table {
    private gridOptions;
    private gridApi;
    currentPage: number;
    /** The column definitions for the grid. */
    readonly cols: any;
    /** The rows definitions for the grid. */
    readonly rows: any;
    /** Options for button renderer including click handler. */
    readonly buttonRendererOptions?: {
        onButtonClick?: (params: any, event: Event) => void;
    };
    /** Options for icon button renderer including click handler. */
    readonly iconButtonRendererOptions?: {
        onIconButtonClick?: (params: any, event: Event) => void;
    };
    /** Options for checkbox renderer including click handler. */
    readonly checkboxRendererOptions?: {
        onCheckboxClick?: (params: any, event: Event) => void;
    };
    rowData: any[];
    colData: any[];
    filterOptions: {
        [key: string]: string[];
    };
    currentFilters: {};
    uniqueKey: string;
    private allRowData;
    /** Height of each row. */
    readonly rowHeight: string;
    /** Total height of the table. */
    readonly tableHeight: string;
    /** Enable or disable pagination. */
    readonly pagination: boolean;
    /** Number of items per page. */
    readonly paginationItemsPerPage: string;
    paginationPageSize: number;
    /** Filter display orientation (sidebar or inline). */
    readonly filterOrientation: string;
    /** Headline text displayed above the grid. */
    readonly headline: string;
    /** Numeric value displayed in headline. */
    readonly headlineNumber: number;
    showSidebarFilters: boolean;
    matchingResultsCount: number;
    /** Visual variant of the grid. */
    readonly variant: string;
    /** Enable server-side pagination mode. */
    readonly serverSidePagination: boolean;
    /** Handler for server-side page changes. */
    readonly serverPageChangeHandler?: (params: {
        page: number;
        pageSize: number;
    }) => Promise<{
        rows: any[];
        total: number;
    }>;
    /** Enable row selection. */
    readonly enableSelection: boolean;
    selectedRows: Set<string>;
    selectAll: boolean;
    selectedRowsData: Map<string, any>;
    /** Show loading overlay. */
    readonly showLoading: boolean;
    /** Auto-fit columns to container width. */
    readonly fitColumns: boolean;
    /** Minimum width for columns. */
    readonly columnMinWidth?: number;
    /** Fixed width for columns. */
    readonly columnWidth?: string;
    /** Emitted when sort order changes. */
    ifxSortChange: EventEmitter;
    private container;
    private lastSortedColumn;
    host: HTMLIfxTableElement;
    private originalRowData;
    private internalItemsPerPage;
    rowsChanged(_newVal: any): void;
    onSizingOptionsChanged(): void;
    colsChanged(_newVal: any): void;
    handleResultsPerPageChange(e: CustomEvent<string>): void;
    handleChipChange({ event, }: {
        event: CustomEvent<{
            previousSelection: Array<any>;
            currentSelection: Array<any>;
            name: string;
        }>;
    }): void;
    onButtonRendererOptionsChanged(): void;
    onIconButtonRendererOptionsChanged(): void;
    onCheckboxRendererOptionsChanged(): void;
    private parseArrayInput;
    toggleSidebarFilters(): void;
    applyColumnSizing(): void;
    updateFilterOptions(): void;
    private updateHeaderCheckboxState;
    handleSidebarFilterChange(event: CustomEvent): void;
    handleTopbarFilterChange(event: CustomEvent): void;
    applyAllFilters(data: any, filters: any): any;
    updateTableView(): Promise<void>;
    clearAllFilters(): void;
    /**
 * Shows the loading overlay on the grid.
 * @returns {Promise<void>}
 */
    onBtShowLoading(): Promise<void>;
    setPaginationItemsPerPage(): void;
    componentWillLoad(): void;
    focusCellIfContainingButton<T>(api: GridApi<T>, cellPosition: CellPosition): CellPosition | null;
    emitEventOnHeaderSortChange(): void;
    componentDidLoad(): Promise<void>;
    componentWillUnmount(): void;
    handlePageChange(event: any): Promise<void>;
    isJSONParseable(str: any): boolean;
    private handleSelectAll;
    getRowData(): any[];
    private handleRowCheckboxClick;
    private updateCheckboxStates;
    private emitSelectionChange;
    getColData(): any[];
    handleResetButtonClick(): void;
    disconnectedCallback(): void;
    getTableClassNames(): string;
    render(): any;
    hasButtonCol(): boolean;
    onDragOver(event: any): void;
    onDrop(event: any): void;
}
