export declare abstract class BaseTreeControl implements TreeControl { dataNodes: T[]; expansionModel: SelectionModel; getChildren: (dataNode: T) => (Observable | T[] | undefined | null); getLevel: (dataNode: T) => number; isExpandable: (dataNode: T) => boolean; collapse(dataNode: T): void; collapseAll(): void; collapseDescendants(dataNode: T): void; expand(dataNode: T): void; abstract expandAll(): void; expandDescendants(dataNode: T): void; abstract getDescendants(dataNode: T): T[]; isExpanded(dataNode: T): boolean; toggle(dataNode: T): void; toggleDescendants(dataNode: T): void; } export declare const CDK_TREE_NODE_OUTLET_NODE: InjectionToken<{}>; export declare class CdkNestedTreeNode extends CdkTreeNode implements AfterContentInit, OnDestroy { protected _children: T[]; protected _differs: IterableDiffers; protected _elementRef: ElementRef; protected _tree: CdkTree; nodeOutlet: QueryList; constructor(_elementRef: ElementRef, _tree: CdkTree, _differs: IterableDiffers); protected _clear(): void; ngAfterContentInit(): void; ngOnDestroy(): void; protected updateChildrenNodes(children?: T[]): void; } export declare class CdkTree implements AfterContentChecked, CollectionViewer, OnDestroy, OnInit { _nodeDefs: QueryList>; _nodeOutlet: CdkTreeNodeOutlet; dataSource: DataSource | Observable | T[]; trackBy: TrackByFunction; treeControl: TreeControl; viewChange: BehaviorSubject<{ start: number; end: number; }>; constructor(_differs: IterableDiffers, _changeDetectorRef: ChangeDetectorRef); _getNodeDef(data: T, i: number): CdkTreeNodeDef; insertNode(nodeData: T, index: number, viewContainer?: ViewContainerRef, parentData?: T): void; ngAfterContentChecked(): void; ngOnDestroy(): void; ngOnInit(): void; renderNodeChanges(data: T[] | ReadonlyArray, dataDiffer?: IterableDiffer, viewContainer?: ViewContainerRef, parentData?: T): void; } export declare class CdkTreeModule { } export declare class CdkTreeNode implements FocusableOption, OnDestroy { protected _data: T; _dataChanges: Subject; protected _destroyed: Subject; protected _elementRef: ElementRef; protected _tree: CdkTree; data: T; readonly isExpanded: boolean; readonly level: number; role: 'treeitem' | 'group'; constructor(_elementRef: ElementRef, _tree: CdkTree); protected _setRoleFromChildren(children: T[]): void; protected _setRoleFromData(): void; focus(): void; ngOnDestroy(): void; static mostRecentTreeNode: CdkTreeNode | null; } export declare class CdkTreeNodeDef { template: TemplateRef; when: (index: number, nodeData: T) => boolean; constructor(template: TemplateRef); } export declare class CdkTreeNodeOutlet { _node?: any; viewContainer: ViewContainerRef; constructor(viewContainer: ViewContainerRef, _node?: any); } export declare class CdkTreeNodeOutletContext { $implicit: T; count?: number; index?: number; level: number; constructor(data: T); } export declare class CdkTreeNodePadding implements OnDestroy { _indent: number; _level: number; indent: number | string; indentUnits: string; level: number; constructor(_treeNode: CdkTreeNode, _tree: CdkTree, _renderer: Renderer2, _element: ElementRef, _dir: Directionality); _paddingIndent(): string | null; _setPadding(forceChange?: boolean): void; ngOnDestroy(): void; } export declare class CdkTreeNodeToggle { protected _recursive: boolean; protected _tree: CdkTree; protected _treeNode: CdkTreeNode; recursive: boolean; constructor(_tree: CdkTree, _treeNode: CdkTreeNode); _toggle(event: Event): void; } export declare class FlatTreeControl extends BaseTreeControl { getLevel: (dataNode: T) => number; isExpandable: (dataNode: T) => boolean; constructor(getLevel: (dataNode: T) => number, isExpandable: (dataNode: T) => boolean); expandAll(): void; getDescendants(dataNode: T): T[]; } export declare function getTreeControlFunctionsMissingError(): Error; export declare function getTreeControlMissingError(): Error; export declare function getTreeMissingMatchingNodeDefError(): Error; export declare function getTreeMultipleDefaultNodeDefsError(): Error; export declare function getTreeNoValidDataSourceError(): Error; export declare class NestedTreeControl extends BaseTreeControl { getChildren: (dataNode: T) => (Observable | T[] | undefined | null); constructor(getChildren: (dataNode: T) => (Observable | T[] | undefined | null)); protected _getDescendants(descendants: T[], dataNode: T): void; expandAll(): void; getDescendants(dataNode: T): T[]; } export interface TreeControl { dataNodes: T[]; expansionModel: SelectionModel; readonly getChildren: (dataNode: T) => Observable | T[] | undefined | null; readonly getLevel: (dataNode: T) => number; readonly isExpandable: (dataNode: T) => boolean; collapse(dataNode: T): void; collapseAll(): void; collapseDescendants(dataNode: T): void; expand(dataNode: T): void; expandAll(): void; expandDescendants(dataNode: T): void; getDescendants(dataNode: T): any[]; isExpanded(dataNode: T): boolean; toggle(dataNode: T): void; toggleDescendants(dataNode: T): void; }