import { CheckboxModel, CheckboxTreeSyncOptions, ICheckboxTreeSync, TState } from "./types.js";
export declare class CheckboxTreeSync<T> implements ICheckboxTreeSync {
    private params;
    private flattenData;
    private variant;
    private state;
    constructor(params: CheckboxTreeSyncOptions<T>);
    getCheckboxesModel(): {
        checkboxes: CheckboxModel[];
    };
    pickAll(): void;
    /**
     * make data flat so we can easily find parent and children and retrieve data
     */
    private makeDataFlat;
    private pickCheckboxParents;
    private getCheckboxChildren;
    private pickCheckboxChildren;
    private removeCheckboxParents;
    private removeCheckboxChildren;
    private toggleCheckbox;
    /**
     * checkbox model for rendering
     */
    private createCheckboxModel;
    /**
     * checkbox model for rendering
     */
    private createSubCheckboxesModel;
    private handleChangeState;
    private updateVariant;
    updateParams(params: Omit<CheckboxTreeSyncOptions<T>, "state">): void;
    updateState(state?: TState): void;
}
