import type { TypedFunction } from '../core/function/typed.js'; import type { Index } from '../utils/is.js'; /** A Range-like dimension within an Index */ interface DimensionRange { forEach(callback: (value: number, index: number[]) => void): void; size(): number[]; } /** The runtime Index surface used by subset (extends the structural is-guard type) */ interface IndexLike extends Index { isIndex?: boolean; isScalar(): boolean; size(): number[]; min(): number[]; max(): number[]; dimension(dim: number): number | string | DimensionRange; } /** Minimal Matrix surface used by subset */ interface MatrixLike { subset(index: IndexLike, replacement?: unknown, defaultValue?: unknown): MatrixLike; clone(): MatrixLike; valueOf(): unknown; isMatrix?: boolean; } /** Callable matrix factory dependency */ type MatrixFn = (value?: unknown) => MatrixLike; /** A scalar/elementwise implementation resolved from a typed-function */ type Fn = (...args: unknown[]) => unknown; export declare const createSubset: import("../utils/factory.js").FactoryFunction<{ typed: TypedFunction; matrix: MatrixFn; zeros: Fn; add: Fn; }, unknown>; export {}; //# sourceMappingURL=subset.d.ts.map