import { DataConsumer } from './data-consumer.js'; import { FilterValue, GristRecord, SorterConfig, SortersConfig } from './types.js'; export declare class DataProvider { page: number; limit: number; total: number; records: GristRecord[]; private consumer?; private _fetchHandler?; private _sorters?; private _filters?; private _pageChangeHandler; private _limitChangeHandler; private _fetchParamsChangeHandler; private _recordChangeHandler; private _attachPageHandler; private _fetchHandlerWrap; private _fetchOptions; constructor(consumer: DataConsumer); dispose(): void; onAttachPage(): void; onPageChange(e: Event): void; onLimitChange(e: Event): void; onFetchParamsChange(e: Event): void; onRecordChange(e: Event): void; get fetchOptions(): any; set fetchOptions(fetchOptions: any); get fetchHandler(): any; set fetchHandler(fetchHandler: any); get sorters(): SorterConfig[] | undefined; set sorters(sorters: SorterConfig[] | undefined); get sortings(): SorterConfig[] | undefined; set sortings(sorters: SorterConfig[] | undefined); get filters(): FilterValue[] | undefined; set filters(filters: FilterValue[] | undefined); attach(reset?: boolean): Promise; fetch({ page, limit, sorters, sortings, filters }?: { page?: number; limit?: number; sorters?: SortersConfig; sortings?: SortersConfig; filters?: FilterValue[]; }): Promise; _update({ page, limit, total, records }: { page: number; limit: number; total: number; records: GristRecord[]; }, reset?: boolean): Promise; }