/** * Lazy selection utilities for DataArray * Handles selection operations on lazy-loaded arrays without materializing the entire dataset */ import { Selection, DimensionName, Coordinates, SelectionOptions, LazyIndexRange, Attributes } from '../types.js'; /** * Map a current index to the original index in the source dataset. * If this DataArray has an originalIndexMapping (from a previous selection), * use it to look up the original index. Otherwise, the current index IS the original. */ export declare function mapIndexToOriginal(originalIndexMapping: { [dimension: string]: number[]; } | undefined, dim: DimensionName, currentIndex: number): number; /** * Parameters for performing lazy selection */ export interface LazySelectionParams { selection: Selection; options?: SelectionOptions; dims: DimensionName[]; shape: number[]; coords: Coordinates; attrs: Attributes; name?: string; originalIndexMapping?: { [dimension: string]: number[]; }; lazyLoader: (ranges: Record) => Promise; } /** * Result of lazy selection operation */ export interface LazySelectionResult { virtualShape: number[]; lazyLoader: (ranges: Record) => Promise; dims: DimensionName[]; coords: Coordinates; attrs: Attributes; name?: string; originalIndexMapping: { [dimension: string]: number[]; }; } /** * Perform lazy selection on a DataArray * Returns metadata for creating a new lazy DataArray without materializing data */ export declare function performLazySelection(params: LazySelectionParams): LazySelectionResult; //# sourceMappingURL=lazy-selection.d.ts.map