export declare class MatNestedTreeNode extends CdkNestedTreeNode implements AfterContentInit, OnDestroy { protected _differs: IterableDiffers; protected _elementRef: ElementRef; protected _tree: CdkTree; get disabled(): any; set disabled(value: any); node: T; get tabIndex(): number; set tabIndex(value: number); constructor(_elementRef: ElementRef, _tree: CdkTree, _differs: IterableDiffers, tabIndex: string); ngAfterContentInit(): void; ngOnDestroy(): void; static ngAcceptInputType_disabled: BooleanInput; static ɵdir: i0.ɵɵDirectiveDefWithMeta, "mat-nested-tree-node", ["matNestedTreeNode"], { "node": "matNestedTreeNode"; "disabled": "disabled"; "tabIndex": "tabIndex"; }, {}, never>; static ɵfac: i0.ɵɵFactoryDef>; } export declare class MatTree extends CdkTree { _nodeOutlet: MatTreeNodeOutlet; static ɵcmp: i0.ɵɵComponentDefWithMeta, "mat-tree", ["matTree"], {}, {}, never>; static ɵfac: i0.ɵɵFactoryDef>; } export declare class MatTreeFlatDataSource extends DataSource { _data: BehaviorSubject; _expandedData: BehaviorSubject; _flattenedData: BehaviorSubject; get data(): T[]; set data(value: T[]); constructor(_treeControl: FlatTreeControl, _treeFlattener: MatTreeFlattener, initialData?: T[]); connect(collectionViewer: CollectionViewer): Observable; disconnect(): void; } export declare class MatTreeFlattener { getChildren: (node: T) => Observable | T[] | undefined | null; getLevel: (node: F) => number; isExpandable: (node: F) => boolean; transformFunction: (node: T, level: number) => F; constructor(transformFunction: (node: T, level: number) => F, getLevel: (node: F) => number, isExpandable: (node: F) => boolean, getChildren: (node: T) => Observable | T[] | undefined | null); _flattenChildren(children: T[], level: number, resultNodes: F[], parentMap: boolean[]): void; _flattenNode(node: T, level: number, resultNodes: F[], parentMap: boolean[]): F[]; expandFlattenedNodes(nodes: F[], treeControl: TreeControl): F[]; flattenNodes(structuredData: T[]): F[]; } export declare class MatTreeModule { static ɵinj: i0.ɵɵInjectorDef; static ɵmod: i0.ɵɵNgModuleDefWithMeta; } export declare class MatTreeNestedDataSource extends DataSource { _data: BehaviorSubject; get data(): T[]; set data(value: T[]); connect(collectionViewer: CollectionViewer): Observable; disconnect(): void; } export declare class MatTreeNode extends _MatTreeNodeMixinBase implements CanDisable, HasTabIndex { protected _elementRef: ElementRef; protected _tree: CdkTree; role: 'treeitem' | 'group'; constructor(_elementRef: ElementRef, _tree: CdkTree, tabIndex: string); static ngAcceptInputType_disabled: BooleanInput; static ɵdir: i0.ɵɵDirectiveDefWithMeta, "mat-tree-node", ["matTreeNode"], { "disabled": "disabled"; "tabIndex": "tabIndex"; "role": "role"; }, {}, never>; static ɵfac: i0.ɵɵFactoryDef>; } export declare class MatTreeNodeDef extends CdkTreeNodeDef { data: T; static ɵdir: i0.ɵɵDirectiveDefWithMeta, "[matTreeNodeDef]", never, { "when": "matTreeNodeDefWhen"; "data": "matTreeNode"; }, {}, never>; static ɵfac: i0.ɵɵFactoryDef>; } export declare class MatTreeNodeOutlet implements CdkTreeNodeOutlet { _node?: any; viewContainer: ViewContainerRef; constructor(viewContainer: ViewContainerRef, _node?: any); static ɵdir: i0.ɵɵDirectiveDefWithMeta; static ɵfac: i0.ɵɵFactoryDef; } export declare class MatTreeNodePadding extends CdkTreeNodePadding { indent: number; level: number; static ɵdir: i0.ɵɵDirectiveDefWithMeta, "[matTreeNodePadding]", never, { "level": "matTreeNodePadding"; "indent": "matTreeNodePaddingIndent"; }, {}, never>; static ɵfac: i0.ɵɵFactoryDef>; } export declare class MatTreeNodeToggle extends CdkTreeNodeToggle { recursive: boolean; static ɵdir: i0.ɵɵDirectiveDefWithMeta, "[matTreeNodeToggle]", never, { "recursive": "matTreeNodeToggleRecursive"; }, {}, never>; static ɵfac: i0.ɵɵFactoryDef>; }