import { CollectionViewer } from '@angular/cdk/collections';
import { MatPaginator } from '@angular/material/paginator';
import { MatTreeFlatDataSource } from '@angular/material/tree';
import { Observable } from 'rxjs';
export declare class NgmTreeFlatDataSource<T, F, P extends MatPaginator = MatPaginator> extends MatTreeFlatDataSource<T, F> {
    get paginator(): P | null;
    set paginator(paginator: P | null);
    private _paginator;
    /** Used to react to internal changes of the paginator that are made by the data source itself. */
    private readonly _internalPageChanges;
    connect(collectionViewer: CollectionViewer): Observable<F[]>;
    _pageData(data: F[]): F[];
    /**
     * Updates the paginator to reflect the length of the filtered data, and makes sure that the page
     * index does not exceed the paginator's last page. Values are changed in a resolved promise to
     * guard against making property changes within a round of change detection.
     */
    _updatePaginator(filteredDataLength: number): void;
}
