import { SmzBuilderUtilities } from '../common/smz-builder-utilities';
import { ParentEntity } from '../../common/models/simple-named-entity';
import { SmzTreeNode } from '../../modules/smz-trees/models/tree-node';
export declare class SmzTreeNodeUtilityBuilder<TBuilder> extends SmzBuilderUtilities<SmzTreeNodeUtilityBuilder<TBuilder>> {
    private _builder;
    private _parentData;
    private _treeNodes;
    protected that: this;
    private isParent;
    constructor(_builder: TBuilder, _parentData: ParentEntity<string, SmzTreeNode<any>>[], _treeNodes: SmzTreeNode<any>[]);
    resetStylesClassForAllTypes(): SmzTreeNodeUtilityBuilder<TBuilder>;
    addToolTipForAllTypes(message: string): SmzTreeNodeUtilityBuilder<TBuilder>;
    addToolTip(type: string, message: string): SmzTreeNodeUtilityBuilder<TBuilder>;
    addIcon(type: string, icon: string): SmzTreeNodeUtilityBuilder<TBuilder>;
    enableSelectionForAllTypes(applyStyles?: boolean): SmzTreeNodeUtilityBuilder<TBuilder>;
    disableSelectionForAllTypes(applyStyles?: boolean): SmzTreeNodeUtilityBuilder<TBuilder>;
    enableSelection(type: string, applyStyles?: boolean): SmzTreeNodeUtilityBuilder<TBuilder>;
    conditionalSelection(callback: (node: SmzTreeNode<unknown>) => boolean | undefined, applyStyles?: boolean): SmzTreeNodeUtilityBuilder<TBuilder>;
    forEach<TNodeData>(callback: (node: SmzTreeNode<TNodeData>) => void): SmzTreeNodeUtilityBuilder<TBuilder>;
    forEachType<TNodeData>(type: string, callback: (node: SmzTreeNode<TNodeData>) => void): SmzTreeNodeUtilityBuilder<TBuilder>;
    disableSelection(type: string, applyStyles?: boolean): SmzTreeNodeUtilityBuilder<TBuilder>;
    addStylesClass(type: string, styleClass: string): SmzTreeNodeUtilityBuilder<TBuilder>;
    expandAll(): SmzTreeNodeUtilityBuilder<TBuilder>;
    collapseAll(): SmzTreeNodeUtilityBuilder<TBuilder>;
    expand(type: string): SmzTreeNodeUtilityBuilder<TBuilder>;
    collapse(type: string): SmzTreeNodeUtilityBuilder<TBuilder>;
    get tree(): TBuilder;
}
