import { DTypeGpu, GPUTensorConstructor, GPUTensorI } from '../../../tensor/gpu/interface'; import { GPUMemoryAllocator } from '../../../tensor/gpu/memory'; import { Operation } from '../operation'; export interface MatMulInfo { shapeA?: readonly number[]; widthA?: number; heightA?: number; shapeB?: readonly number[]; widthB?: number; heightB?: number; shapeOutput?: readonly number[]; widthOutput?: number; heightOutput?: number; } export interface MatMulInput { A: GPUTensorI; B: GPUTensorI; } export declare class MatMulOperation extends Operation { protected maxIterations: number; constructor(tensorConstructor: GPUTensorConstructor, dtype: DTypeGpu, allocator?: GPUMemoryAllocator); getFragmentShader(info: MatMulInfo): string; getTextureNames(): string[]; calc(input: MatMulInput): GPUTensor; getOutputShape(input: MatMulInput): readonly number[]; compile(info: MatMulInfo): void; getCompilationInfo(input: MatMulInput): MatMulInfo; getInputInfoString(input: MatMulInput): string; }