import type { Any } from '../interface'; import type { SourceCodeInfo } from '../tokenizer/token'; export declare function annotate(value: T): T; export declare function isVector(vector: unknown): vector is number[]; /** * Assert that `vector` is a numeric vector. If it's a PersistentVector, * converts to a plain `number[]` and returns it. Callers should use the * return value: `vector = assertVector(vector, sci)` */ export declare function assertVector(vector: unknown, sourceCodeInfo: SourceCodeInfo | undefined): number[]; export declare function is2dVector(vector: unknown): vector is [number, number]; export declare function assert2dVector(vector: unknown, sourceCodeInfo: SourceCodeInfo | undefined): [number, number]; export declare function is3dVector(vector: unknown): vector is [number, number, number]; export declare function assert3dVector(vector: unknown, sourceCodeInfo: SourceCodeInfo | undefined): [number, number, number]; export declare function assertNonEmptyVector(vector: unknown, sourceCodeInfo: SourceCodeInfo | undefined): number[]; export declare function isGrid(grid: unknown, typePred?: (elem: unknown) => boolean): grid is unknown[][]; export declare function assertGrid(grid: unknown, sourceCodeInfo: SourceCodeInfo | undefined): Any[][]; export declare function isMatrix(matrix: unknown): matrix is number[][]; export declare function assertMatrix(matrix: unknown, sourceCodeInfo: SourceCodeInfo | undefined): number[][]; export declare function assertSquareMatrix(matrix: unknown, sourceCodeInfo: SourceCodeInfo | undefined): number[][]; export declare function isSquareMatrix(matrix: unknown): matrix is number[][];