import { ChangeDetectorRef } from '@angular/core';
import { Observable, Subscription, BehaviorSubject } from 'rxjs';
import { SmzEasyTableState } from '../models/smz-easy-table-state';
import { GlobalSearchData, SmzEasyTableData, SmzEasyTableViewport } from '../models/smz-easy-table-data';
import * as i0 from "@angular/core";
export declare class TableDataSourceService {
    viewport: SmzEasyTableViewport;
    state: SmzEasyTableState;
    source$: Observable<any[]>;
    sourceSubscription: Subscription;
    internalSource$: BehaviorSubject<any[]>;
    internalSourceSubscription: Subscription;
    cdr: ChangeDetectorRef;
    constructor();
    setupListener(): void;
    private processDataSource;
    setupNewData(data: any[], resetPagination: boolean): void;
    executeGlobalSearch(value: string, resetPagination: boolean): void;
    createPaginator(currentPage: number, preserveCurrentItems: boolean): void;
    updatePaginator(currentPage: number, preserveCurrentItems: boolean): void;
    createTableData(item: any): SmzEasyTableData;
    createGlobalSearchData(item: SmzEasyTableData): GlobalSearchData;
    updateTableData(item: any, updateData: any): void;
    getRawDataById(id: string): any;
    disconnect(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableDataSourceService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TableDataSourceService>;
}
