import { DataSource } from '@angular/cdk/collections'; import { BehaviorSubject, Observable, Subject } from 'rxjs'; import { OnDestroy } from '@angular/core'; import { Meta } from '../models/meta'; import { SortValue } from '../models/sort-value'; import * as i0 from "@angular/core"; export type TResponse = { data: T[]; meta?: Meta; }; export interface GmTableDataSourceInterface { /** * If `id` is provided, state saving in `GM_STORAGE` is enabled. */ id?: string; fetch: (filter?: any, sort?: SortValue, pageNumber?: number, pageSize?: number) => Observable; loadItems: Function; currentPage: number; totalPages: number; pageSize: number; setPage: Function; loading$: BehaviorSubject; total: number; lastCountInPage: number; pageSizes: number[]; clear: Function; } export declare class GmTableDatasource implements DataSource, OnDestroy { protected unsubscribe: Subject; id: string; loading$: BehaviorSubject; entity$: BehaviorSubject; pageSizes: number[]; lastCountInPage: number; total: number; totalPages: number; currentPage: number; lastFilter: TFilter; private storageSrv; private localPageSize; connect(): Observable; get pageSize(): number; set pageSize(v: number); disconnect(): void; setPage(pageIndex: number): void; loadItems(filter?: TFilter, sort?: SortValue, page?: { currentPage: number; pageSize: number; }): Observable<{ data: T[]; meta?: Meta; }>; fetch(filter: TFilter, sort: SortValue, pageNumber: number, pageSize: number): Observable>; clear(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; }