import type { TypedFunction } from '../../core/function/typed.js'; export type { TypedFunction }; /** Structural type of the BigNumber constructor that `createZerosAndOnes` needs. */ export interface BigNumberConstructor { new (value: number | string): BigNumber; (value: number | string): BigNumber; } /** Structural type of a BigNumber value, as `createZerosAndOnes` uses it. */ export interface BigNumber { isBigNumber: boolean; toNumber(): number; } /** Structural type of the `matrix` function that `createZerosAndOnes` needs. */ export interface MatrixConstructor { (data?: unknown, storage?: string): Matrix; } /** Structural type of a Matrix value, as `createZerosAndOnes` uses it. */ export interface Matrix { _size: number[]; storage(): 'dense' | 'sparse'; valueOf(): unknown[] | unknown[][]; resize(size: number[], defaultValue: unknown): Matrix; } /** The part of the configuration that `createZerosAndOnes` reads. */ export interface Config { matrix: 'Array' | 'Matrix'; } /** Dependencies of `createZerosAndOnes`. */ export interface Dependencies { typed: TypedFunction; config: Config; matrix: MatrixConstructor; BigNumber: BigNumberConstructor; } /** * Create the typed function `name` that returns an array or matrix filled with * `defaultValue`. * * The `zeros` and `ones` functions use this factory. With no arguments, the result is an * empty Array or Matrix, as the `matrix` configuration option sets. */ export declare function createZerosAndOnes(name: string, defaultValue: 0 | 1, { typed, config, matrix, BigNumber }: Dependencies): unknown; //# sourceMappingURL=zerosAndOnes.d.ts.map