import type { Indices, Slice } from "./types.js"; export declare function normalizeIntegerSelection(dimSel: number, dimLen: number): number; interface IntChunkDimProjection { dimChunkIx: number; dimChunkSel: number; } interface IntDimIndexerProps { dimSel: number; dimLen: number; dimChunkLen: number; } declare class IntDimIndexer { dimSel: number; dimLen: number; dimChunkLen: number; nitems: 1; constructor({ dimSel, dimLen, dimChunkLen }: IntDimIndexerProps); [Symbol.iterator](): IterableIterator; } interface SliceChunkDimProjection { dimChunkIx: number; dimChunkSel: Indices; dimOutSel: Indices; } interface SliceDimIndexerProps { dimSel: Slice; dimLen: number; dimChunkLen: number; } declare class SliceDimIndexer { start: number; stop: number; step: number; dimLen: number; dimChunkLen: number; nitems: number; nchunks: number; constructor({ dimSel, dimLen, dimChunkLen }: SliceDimIndexerProps); [Symbol.iterator](): IterableIterator; } export declare function normalizeSelection(selection: null | (Slice | null | number)[], shape: readonly number[]): (number | Slice)[]; interface BasicIndexerProps { selection: null | (null | number | Slice)[]; shape: readonly number[]; chunkShape: readonly number[]; } export type IndexerProjection = { from: number; to: null; } | { from: Indices; to: Indices; }; interface ChunkProjection { chunkCoords: number[]; mapping: IndexerProjection[]; } export declare class BasicIndexer { dimIndexers: (SliceDimIndexer | IntDimIndexer)[]; shape: number[]; /** * Original axis indices that survive the selection (slices, not integer * indices), in ascending order — i.e. the input axis each output dimension * came from. Used to project the array's native order onto the output. */ outputAxes: number[]; constructor({ selection, shape, chunkShape }: BasicIndexerProps); [Symbol.iterator](): IterableIterator; } export {}; //# sourceMappingURL=indexer.d.ts.map