import type { Filter, Paging, Query } from '../datapage/types'; import type { DataObjectMeta } from '../analytics/types/data-model'; import type { DataAsyncResponse } from './types'; import BufferedDataView from './buffered-data-view'; import type { DataViewCall, DataViewCallCombiner, DataViewCallComparator, DataViewCallSeparator } from './buffer-utils-types'; interface Column { value: string; useForSearch?: boolean; } export interface Config { deferDatasource?: boolean; dataSourceMetaData?: { structure?: string; isQueryable?: boolean; } | DataObjectMeta; associationFilter?: string[] | null; propertyFilter?: string[]; matchPosition: string | undefined; ignoreCase: boolean | undefined; maxResultsDisplay?: string; enablePagination?: boolean; dataSource: string; parameters: { [param: string]: string; }; columns: Column[]; cacheLifeSpan?: string; listType?: string; pageSize?: number; invalidateCache?: boolean; } declare class DataApi { isInitialised: boolean; isQueryable?: boolean; nonQueryableData: object[]; fetchedNQData: boolean; previousSearchText: null | string; totalRecordCount: number; fetchedRecordCount: number; pageNumber: number; parameters?: { [param: string]: string; }; enablePagination?: boolean; columns?: Column[]; pageSize?: number; maxResultsDisplay?: string; matchPosition?: string; ignoreCase?: boolean; cache: object; dataSourceMetaData?: { structure?: string; isQueryable?: boolean; } | DataObjectMeta; isNQDataFetchInProgress: boolean; fetchNQDataPromise: Promise<{ data: object[]; }> | null; dataSource: string; context?: string; associationFilter?: string[] | null; propertyFilter?: string[]; listType?: string; bufferInitialized: boolean; constructor(config?: Config, context?: string); private static readonly searchResultsCache; static init(config: Config, context?: string): Promise; static readonly bufferedDataView: BufferedDataView; registerForBufferedCall(bufferedCallParams: { combiner?: DataViewCallCombiner; comparator?: DataViewCallComparator; separator?: DataViewCallSeparator; waitTime?: number; maxSize?: number; }): this; static clearContextedCache(context: string): void; static initializeCache(context: string | undefined, config: Config, uniqueDataApiKey: string, dataApiObj: DataApi): void; fetchMetaData(context: string | undefined): Promise>; initializeBufferCallsForDataPage(bufferedCallParams: { combiner: DataViewCallCombiner; comparator: DataViewCallComparator; separator: DataViewCallSeparator; waitTime?: number; maxSize?: number; }): void; buildSchemaForQueryableBufferDP(searchText: string): DataViewCall; getData(searchText: string, overriddenConfig?: Partial): Promise; memoizedGetData(searchText: string, overriddenConfig?: Partial): Promise; fetchData(searchText: string, isPaginated?: boolean, overriddenConfig?: Partial): Promise; fetchPaginatedData(searchText: string): Promise; fetchNonQueryableResults(searchText: string, overriddenConfig?: Partial): Promise; filterDataOnClient(searchText: string, clientSideData: { [key: string]: string; }[], overriddenConfig?: Partial): { [key: string]: string; }[]; positionMatches(text: string, searchText: string, overriddenConfig?: Partial): boolean; buildSelect(overriddenConfig?: Partial): { field: string; }[]; buildFilters(searchText: string, overriddenConfig?: Partial): Filter; buildQuery(searchText: string, overriddenConfig?: Partial): Query; buildPageOptions(): Paging; buildSchemaForQueryableDP(searchText: string, overriddenConfig?: Partial): { dataViewParameters: { [param: string]: string; } | undefined; query: Query; paging: Paging; }; buildSchemaForNonQueryableDP(): { dataViewParameters: { [param: string]: string; } | undefined; }; isValidDatasource(): boolean; } export default DataApi;