import { OnInit, OnDestroy } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * Diretiva para corrigir a acessibilidade de checkboxes em tabelas PrimeNG.
 *
 * Propaga o `aria-label` dos custom elements wrapper (`p-tablecheckbox` e
 * `p-tableheadercheckbox`) para os `<input type="checkbox">` internos e
 * remove o atributo do wrapper, eliminando as violações WCAG 4.1.2:
 * - `label` (crítica): input sem nome acessível
 * - `aria-prohibited-attr` (séria): aria-label em custom element sem role ARIA
 *
 * Remove também o `aria-label` do `p-checkbox` intermediário e monitora
 * mutations de atributo para re-aplicar o label correto caso o binding
 * interno do PrimeNG sobrescreva o valor no input via change detection.
 *
 * Utiliza MutationObserver para tratar linhas adicionadas dinamicamente
 * (paginação, lazy loading).
 *
 * Uso: `<p-table sTableCheckboxAccessibility ...>`
 */
export declare class TableCheckboxAccessibilityDirective implements OnInit, OnDestroy {
    private readonly el;
    private childListObserver;
    private attributeObserver;
    private isChildListPaused;
    private isAttributePaused;
    private readonly observedElements;
    private readonly inputLabelMap;
    private static readonly CHECKBOX_SELECTOR;
    private static readonly INNER_CHECKBOX_SELECTOR;
    private static readonly INPUT_SELECTOR;
    private static readonly ARIA_LABEL_ATTR;
    ngOnInit(): void;
    ngOnDestroy(): void;
    private updateCheckboxLabels;
    private applyLabelToInput;
    private removeInnerCheckboxAriaLabel;
    private observeTableChanges;
    private handleAttributeMutations;
    private enforceInputLabel;
    private handleChildListMutation;
    private startObserving;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableCheckboxAccessibilityDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TableCheckboxAccessibilityDirective, "[sTableCheckboxAccessibility]", never, {}, {}, never, never, true, never>;
}
