import { type TuiTreeItem } from '../components/tree-item/tree-item.component';
import { type TuiTreeAccessor, type TuiTreeController } from '../misc/tree.interfaces';
import * as i0 from "@angular/core";
export declare class TuiTreeControllerDirective<T> implements TuiTreeController, TuiTreeAccessor<T> {
    protected readonly items: Map<TuiTreeItem, T>;
    readonly fallback: import("@angular/core").InputSignal<boolean>;
    readonly map: import("@angular/core").InputSignal<Map<T, boolean>>;
    readonly toggled: import("@angular/core").OutputEmitterRef<T>;
    register(item: TuiTreeItem, value: T): void;
    unregister(item: TuiTreeItem): void;
    isExpanded(item: TuiTreeItem): boolean;
    toggle(item: TuiTreeItem): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiTreeControllerDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTreeControllerDirective<any>, "[tuiTreeController][map]", ["tuiTreeController"], { "fallback": { "alias": "tuiTreeController"; "required": false; "isSignal": true; }; "map": { "alias": "map"; "required": false; "isSignal": true; }; }, { "toggled": "toggled"; }, never, never, true, never>;
}
