import { AxiosResponse } from 'axios'; type LoadState = 'unloaded' | 'loading' | 'loaded' | 'error'; export interface SliceResponse { slice_start: number; slice_end: number; total_count: number; items: D[]; } interface LoadOptions { force?: boolean; } export declare class SlicedArray extends Array { private fetchSlice; protected options: { mapFetchedData?: (data: D) => T; onSliceLoaded?: (newData: { [abs_index: number]: D; }, slice: any) => void; pageSize?: number; }; constructor(fetchSlice: (start: number, end: number) => Promise | AxiosResponse>>, options?: { mapFetchedData?: (data: D) => T; onSliceLoaded?: (newData: { [abs_index: number]: D; }, slice: any) => void; pageSize?: number; }); protected loadingRows: Set; get isWorking(): boolean; get isFullyLoaded(): boolean; isRowLoaded(index: number): boolean; wasRowRequested(index: number): boolean; private _initialLoadStatus; protected touchInitialStatus(v: LoadState): void; get initialLoadState(): LoadState; protected _getSliceState(a: number, b: number): LoadState; protected _isSliceLoaded(a: number, b: number): boolean; offerSlice(slice: SliceResponse): {}; getSliceState(slice: string): LoadState; getSliceState(slice: [number, number]): LoadState; getSliceState(slice_start: number, slice_end: number): LoadState; isSliceLoaded(slice: string): boolean; isSliceLoaded(slice: [number, number]): boolean; isSliceLoaded(slice_start: number, slice_end: number): boolean; ensureSlice(slice: string, opts?: LoadOptions): Promise; ensureSlice(slice: [number, number], opts?: LoadOptions): Promise; ensureSlice(slice_start: number, slice_end: number, opts?: LoadOptions): Promise; /** * @param page Zero-Indexed page number * @param page_size */ isPageLoaded(page: number, page_size?: number): boolean; /** * @param page Zero-Indexed page number * @param page_size */ ensurePage(page: number, page_size?: number): Promise; protected _ensureSlice(a: number, b: number, options: LoadOptions): Promise; ilRowLoaded({ index }: { index: any; }): boolean; ilLoadMoreRows({ startIndex, stopIndex }: { startIndex: any; stopIndex: any; }): Promise; } export declare class DummySlicedArray extends SlicedArray { isRowLoaded(index: number): boolean; getInitializationState(): LoadState; protected _getSliceState(a: number, b: number): LoadState; protected _ensureSlice(a: number, b: number, options: LoadOptions): Promise; } export {};