import { Observable, BehaviorSubject, Subject } from 'rxjs'; import { IDataSource } from './IDataSource'; import { IQueryExecutionResult, IQueryExecutionGroupResult, IFilter, ISort, IAggregate, IGroup, IQueryCriteria } from './models'; import { IDataSourceOptions, IResolveCommandModelEvent } from '../public-api'; import { IDataSourceValidationError } from './IDataSourceValidationError'; import { IDataSourceNotifyMessage } from './IDataSourceNotifyMessage'; import { IDataSourceCommandStarted } from './IDataSourceCommandStarted'; export declare class DataSource implements IDataSource { options: IDataSourceOptions; data: IQueryExecutionResult & IQueryExecutionGroupResult; protected _dataSubject: BehaviorSubject & IQueryExecutionGroupResult>; protected _loadingSubject: BehaviorSubject; protected _validationSubject: Subject; protected _commandStartedSubject: Subject; protected _notifyMessageSubject: Subject; protected _data$: Observable & IQueryExecutionGroupResult>; protected _loading$: Observable; protected _validationError$: Observable; protected _notifyMessage$: Observable; protected _commandStarted$: Observable; protected _criteria: IQueryCriteria; readonly data$: Observable & IQueryExecutionGroupResult>; readonly loading$: Observable; readonly validationError$: Observable; readonly commandStarted$: Observable; readonly notifyMessage$: Observable; constructor(options: IDataSourceOptions); clear(): void; updateData(value: IQueryExecutionResult & IQueryExecutionGroupResult): void; replaceDataWithArray(items: TModel[]): void; replaceDataWithSingle(item: TModel): void; protected _initCriteria(): void; resolveIdField(model: TModel): TKeyType; resolveCommandModelByName(event: IResolveCommandModelEvent): Observable; executeCommandByName(name: string, command: TCommand): Observable; private _query; query(query: TQuery): import("rxjs").Subscription; excuteQuery(query: TQuery): Observable & IQueryExecutionGroupResult>; refresh(): import("rxjs").Subscription; sorts: ISort[]; filters: IFilter[]; groups: IGroup[]; aggregates: IAggregate[]; pageSize: number; page: number; }