import { Tensor, Tensor1D, Tensor2D, Tensor3D, Tensor4D, TensorBuffer } from '../tensor';
import { DataType, DataTypeMap, Rank, ShapeMap, TensorLike, TensorLike4D } from '../types';
declare function clone_<T extends Tensor>(x: T | TensorLike): T;
declare function eye_(numRows: number, numColumns?: number, batchShape?: [number] | [number, number] | [number, number, number] | [number, number, number, number], dtype?: DataType): Tensor2D;
declare function randomNormal_<R extends Rank>(shape: ShapeMap[R], mean?: number, stdDev?: number, dtype?: 'float32' | 'int32', seed?: number): Tensor<R>;
declare function truncatedNormal_<R extends Rank>(shape: ShapeMap[R], mean?: number, stdDev?: number, dtype?: 'float32' | 'int32', seed?: number): Tensor<R>;
declare function randomUniform_<R extends Rank>(shape: ShapeMap[R], minval?: number, maxval?: number, dtype?: DataType): Tensor<R>;
declare function rand_<R extends Rank>(shape: ShapeMap[R], randFunction: () => number, dtype?: DataType): Tensor<R>;
declare function multinomial_(logits: Tensor1D | Tensor2D | TensorLike, numSamples: number, seed?: number, normalized?: boolean): Tensor1D | Tensor2D;
declare function oneHot_(indices: Tensor | TensorLike, depth: number, onValue?: number, offValue?: number): Tensor;
declare function fromPixels_(pixels: ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, numChannels?: number): Tensor3D;
declare function toPixels(img: Tensor2D | Tensor3D | TensorLike, canvas?: HTMLCanvasElement): Promise<Uint8ClampedArray>;
declare function reshape_<R2 extends Rank>(x: Tensor | TensorLike, shape: ShapeMap[R2]): Tensor<R2>;
declare function squeeze_<T extends Tensor>(x: Tensor | TensorLike, axis?: number[]): T;
declare function cast_<T extends Tensor>(x: T | TensorLike, dtype: DataType): T;
declare function tile_<T extends Tensor>(x: T | TensorLike, reps: number[]): T;
declare function pad1d_(x: Tensor1D | TensorLike, paddings: [number, number], constantValue?: number): Tensor1D;
declare function pad2d_(x: Tensor2D | TensorLike, paddings: [[number, number], [number, number]], constantValue?: number): Tensor2D;
declare function pad3d_(x: Tensor3D | TensorLike, paddings: [[number, number], [number, number], [number, number]], constantValue?: number): Tensor3D;
declare function pad4d_(x: Tensor4D | TensorLike, paddings: [[number, number], [number, number], [number, number], [number, number]], constantValue?: number): Tensor4D;
declare function pad_<T extends Tensor>(x: T | TensorLike, paddings: Array<[number, number]>, constantValue?: number): T;
declare function stack_<T extends Tensor>(tensors: Array<T | TensorLike>, axis?: number): Tensor;
declare function batchToSpaceND_<T extends Tensor>(x: T | TensorLike, blockShape: number[], crops: number[][]): T;
declare function spaceToBatchND_<T extends Tensor>(x: T | TensorLike, blockShape: number[], paddings: number[][]): T;
declare function unstack_(x: Tensor | TensorLike, axis?: number): Tensor[];
declare function cumsum_<T extends Tensor>(x: Tensor | TensorLike, axis?: number, exclusive?: boolean, reverse?: boolean): T;
declare function expandDims_<R2 extends Rank>(x: Tensor | TensorLike, axis?: number): Tensor<R2>;
declare function depthToSpace_(x: Tensor4D | TensorLike4D, blockSize: number, dataFormat?: 'NHWC' | 'NCHW'): Tensor4D;
declare function setdiff1dAsync_(x: Tensor | TensorLike, y: Tensor | TensorLike): Promise<[Tensor, Tensor]>;
declare function buffer<R extends Rank, D extends DataType = 'float32'>(shape: ShapeMap[R], dtype?: D, values?: DataTypeMap[D]): TensorBuffer<R, D>;
declare function print<T extends Tensor>(x: T, verbose?: boolean): void;
export { buffer, toPixels, print };
export declare const batchToSpaceND: typeof batchToSpaceND_;
export declare const cast: typeof cast_;
export declare const clone: typeof clone_;
export declare const cumsum: typeof cumsum_;
export declare const depthToSpace: typeof depthToSpace_;
export declare const expandDims: typeof expandDims_;
export declare const eye: typeof eye_;
export declare const fromPixels: typeof fromPixels_;
export declare const multinomial: typeof multinomial_;
export declare const oneHot: typeof oneHot_;
export declare const pad: typeof pad_;
export declare const pad1d: typeof pad1d_;
export declare const pad2d: typeof pad2d_;
export declare const pad3d: typeof pad3d_;
export declare const pad4d: typeof pad4d_;
export declare const rand: typeof rand_;
export declare const randomNormal: typeof randomNormal_;
export declare const randomUniform: typeof randomUniform_;
export declare const reshape: typeof reshape_;
export declare const spaceToBatchND: typeof spaceToBatchND_;
export declare const squeeze: typeof squeeze_;
export declare const stack: typeof stack_;
export declare const tile: typeof tile_;
export declare const truncatedNormal: typeof truncatedNormal_;
export declare const unstack: typeof unstack_;
export declare const setdiff1dAsync: typeof setdiff1dAsync_;
