import { EventEmitter } from '../../stencil-public-runtime';
export declare class PdsTable {
    el: HTMLPdsTableElement;
    private scrollContainer;
    private _responsiveHandleScroll;
    private _responsiveHandleResize;
    private _responsiveResizeObserver;
    private _teardownResponsive;
    /**
     * Determines if the table displays with reduced table cell padding.
     */
    compact: boolean;
    /**
     * A unique identifier used for the table `id` attribute.
     */
    componentId: string;
    /**
     * Enables the table to be responsive by horizontally scrolling on smaller screens.
     */
    responsive: boolean;
    /**
     * Determines if the should display a fixed first column.
     */
    fixedColumn: boolean;
    /**
     * Determines if the table displays checkboxes for selectable rows.
     */
    selectable: boolean;
    /**
     * Hides the select-all checkbox in the table header while keeping individual row checkboxes functional.
     * Only applies when `selectable` is true.
     * @defaultValue false
     */
    disableSelectAll: boolean;
    /**
     * Adds divider borders between table rows. The last row will not have a bottom border.
     * @defaultValue false
     */
    rowDividers: boolean;
    /**
     * The name of the column to sort by on initial load.
     * Must match the text content of a sortable column header.
     */
    defaultSortColumn?: string;
    /**
     * The direction to sort the default column on initial load.
     * Only applies if `defaultSortColumn` is set.
     * @defaultValue 'asc'
     */
    defaultSortDirection?: 'asc' | 'desc';
    /**
     * The name of the column being sorted.
     * @defaultValue null
     */
    sortingColumn: string | null;
    /**
     * The direction of sorting.
     * @defaultValue 'asc'
     */
    sortingDirection: 'asc' | 'desc';
    /**
     * Event that is emitted when the select all checkbox is clicked, carrying the selected value.
     */
    pdsTableSelectAll: EventEmitter<{
        isSelected: boolean;
    }>;
    componentDidLoad(): void;
    /**
     * Applies the default sort configuration on initial load.
     * Finds the matching column header and activates its sort state.
     * @private
     */
    private applyDefaultSort;
    disconnectedCallback(): void;
    /**
     * Sets up responsive scrolling behavior for the table.
     *
     * This method creates a horizontal scrolling system where:
     * - The table content can scroll horizontally when it exceeds the container width
     * - Scroll shadows appear at the inline-start/end edges to indicate scrollable content
     * - Fixed columns remain sticky during horizontal scrolling
     * - Shadows respect border-radius and don't appear when there's nothing to scroll
     *
     * Architecture:
     * - Host element: Contains everything, respects parent constraints
     * - Container element: Handles horizontal scrolling (overflow-x: auto)
     * - Shadow elements: Positioned fixed relative to host, show scroll indicators
     *
     * @private
     */
    private setupResponsiveScrolling;
    private classNames;
    private sortTable;
    handleTableSort(event: CustomEvent<{
        column: string;
        direction: 'asc' | 'desc';
    }>): void;
    handleTableSelectAll(event: CustomEvent<{
        isSelected: boolean;
    }>): void;
    handleTableSelect(event: CustomEvent<{
        rowIndex: number;
        isSelected: boolean;
    }>): Promise<void>;
    render(): any;
}
