import { EventEmitter } from '../../stencil-public-runtime';
export interface SortEvent {
    column: string;
    direction: 'asc' | 'desc';
}
export declare class SpwTable {
    el: HTMLSpwTableElement;
    /** Propriété pour l'aria-label, à des fins d'accessibilité */
    accAriaLabel?: string;
    /** Si le header du tableau doit être sticky ou non */
    isSticky?: boolean;
    /** Si défini, apparition d'une scrollbar verticale et max-height  */
    maxHeight?: string;
    /** Si défini, apparition d'une scrollbar horizontale et max-width  */
    minWidth?: string;
    /** Permet de définir le table-layout (auto ou fixed)  */
    tableLayout?: 'auto' | 'fixed';
    /** Définit un background de couleur différent une ligne sur 2 */
    isZebra?: boolean;
    /** Désactive le tri natif pour permettre l'utilisation d'une fonction de tri personnalisée */
    disableSort?: boolean;
    /** État du tri actuel (colonne et direction). Peut être défini de l'extérieur pour un tri personnalisé */
    currentSort?: SortEvent;
    /** Active le redimensionnement manuel de la hauteur du tableau avec un handle */
    resizable?: boolean;
    /** Hauteur minimale autorisée lors du redimensionnement (en pixels) */
    minHeight?: number;
    spwSort: EventEmitter<SortEvent>;
    /** Événement émis lorsque la hauteur du tableau est redimensionnée */
    spwResize: EventEmitter<{
        height: number;
    }>;
    currentHeight?: number;
    private mutationObserver?;
    private headerMutationObserver?;
    private containerElement?;
    private isResizing;
    private startY;
    private startHeight;
    onCurrentSortChange(newSort: SortEvent | undefined): void;
    onIsStickyChange(): void;
    componentDidLoad(): void;
    disconnectedCallback(): void;
    private cleanupResizeListeners;
    private handleResizeStart;
    private handleMouseMove;
    private handleMouseUp;
    private setupTableBodyObserver;
    private setupHeaderObserver;
    private getMasterCheckboxColumnIndex;
    private isCheckboxDisabled;
    private updateMasterCheckboxState;
    private setupHeaderCheckboxListener;
    private checkboxChangeHandler;
    private setupBodyCheckboxListener;
    private toggleAllRowCheckboxes;
    handleHeaderClick(event: CustomEvent<string>): void;
    private updateZebra;
    private applyStickyToChildren;
    private sortRows;
    private updateHeadersSortState;
    private formatSize;
    private get elementClass();
    private get containerClass();
    private getMaxHeight;
    render(): any;
}
