/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { EventEmitter, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';
import { TreeViewComponent } from '@progress/kendo-angular-treeview';
import { CheckedItem } from './checked-item';
import { MultiSelectTreeCheckableSettings } from './checkable-settings';
import { BaseCheckDirective } from './base-check.directive';
import * as i0 from "@angular/core";
/**
 * @hidden
 *
 * A directive which manages the in-memory checked state of the MultiSelectTree nodes.
 */
export declare class CheckDirective extends BaseCheckDirective implements OnChanges, OnDestroy {
    private treeView;
    /**
     * Specifies whether items should be checked on click,
     * and whether checking a node will also check the node children as well.
     * The `checkChildren` prop also enables or disables parent item checking (i.e. checking all child items automatically checks the parent).
     */
    checkable: MultiSelectTreeCheckableSettings;
    /**
     * The item key/keys by which the data items will be compared.
     */
    valueField: string | string[];
    /**
     * Defines the collection that will store the full checked items.
     */
    checkedItems: CheckedItem[];
    /**
     * Fires when the `checkedItems` collection was updated.
     */
    checkedItemsChange: EventEmitter<CheckedItem[]>;
    /**
     * Holds a Set with just the checked item keys.
     *
     * Should be updated each time the `checkedItems` value or content is changed.
     * Can be used for efficient look-up of whether an item is checked or not (O(1) access time).
     */
    checkedKeys: Set<any>;
    private subscriptions;
    private clickSubscription;
    constructor(treeView: TreeViewComponent);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    private getCheckedState;
    private handleCheckedChange;
    private toggleCheckOnClick;
    private unsubscribeClick;
    private checkNode;
    private checkParents;
    private isItemIndeterminate;
    static ɵfac: i0.ɵɵFactoryDeclaration<CheckDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<CheckDirective, "[kendoMultiSelectTreeCheckable]", never, { "checkable": { "alias": "checkable"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "checkedItems": { "alias": "checkedItems"; "required": false; }; }, { "checkedItemsChange": "checkedItemsChange"; }, never, never, true, never>;
}
