import { Component } from "../../util/Component"; import { Instance } from "../Instance"; import { View } from "../../data/View"; import { RenderingContext } from "../RenderingContext"; import { Sorter, RecordAlias } from "../Prop"; export type DataAdapterRecordType = "data" | "group-header" | "group-footer"; export interface DataAdapterRecord { data: T; index?: number; key: string; store: View; type?: DataAdapterRecordType; } export interface DataAdapterConfig { recordName?: RecordAlias; indexName?: RecordAlias; immutable?: boolean; sealed?: boolean; } export declare abstract class DataAdapter extends Component { recordName: string; indexName: string; immutable: boolean; sealed?: boolean; protected filterFn?: (data: T) => boolean; constructor(config?: DataAdapterConfig); abstract getRecords(context: RenderingContext, instance: Instance, records: T[], parentStore: View): DataAdapterRecord[]; setFilter(filterFn?: (data: T) => boolean): void; sort(sorters?: Sorter[]): void; } //# sourceMappingURL=DataAdapter.d.ts.map