import { ControlValueAccessor } from '@angular/forms';
import { CheckboxListData } from './models/checkbox-list-data';
import { CheckboxListChildren, CheckboxListState } from './models/checkbox-list-state';
import * as i0 from "@angular/core";
/**
 * @description Componente de lista de checkboxes hierárquica, com suporte a estados
 * pai/filho e indeterminado. Ao marcar/desmarcar o item pai, todos os filhos são
 * afetados, e o estado do pai é calculado automaticamente com base nos filhos.
 * Implementa {@link ControlValueAccessor} para uso em formulários Angular.
 *
 * @example
 * ```html
 * <s-checkbox-list
 *   formControlName="permissoes"
 *   [data]="estruturaPermissoes" />
 * ```
 *
 * @category Inputs
 */
export declare class CheckboxListComponent implements ControlValueAccessor {
    /**
     * @description Estrutura de dados que define o item raiz e seus filhos.
     * Cada `CheckboxListData` pode conter o label, estado inicial e uma lista de filhos recursiva.
     * Campo obrigatório.
     */
    data: CheckboxListData;
    state: CheckboxListState;
    private _onChange;
    private _onTouched;
    writeValue(value: CheckboxListState): void;
    get renderType(): "inline" | "block";
    registerOnChange(onChange: (value: CheckboxListState) => void): void;
    registerOnTouched(onTouched: () => void): void;
    private _initializeChildren;
    getCheckboxState(item: CheckboxListChildren | undefined, label: string): {};
    updateParent(): void;
    onCheckboxChange(): void;
    private _toggleChildrenCheck;
    static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxListComponent, "s-checkbox-list", never, { "data": { "alias": "data"; "required": true; }; }, {}, never, never, false, never>;
}
