import { DTypeGpu, GPUTensorConstructor, GPUTensorI } from '../../../tensor/gpu/interface'; import { GPUMemoryAllocator } from '../../../tensor/gpu/memory'; import { GPUTensor } from '../../../tensor/gpu/tensor'; import { Dispatcher } from '../../gpu/dispatcher'; import { Input, Operation } from '../../gpu/operation'; export interface AddIndexInfo { shapeA?: readonly number[]; widthA?: number; heightA?: number; shapeOutput?: readonly number[]; widthOutput?: number; heightOutput?: number; axis?: number; count?: number; } export interface AddIndexInput { A: GPUTensorI; axis: number; count: number; } export declare class AddIndexOperation extends Operation { constructor(tensorConstructor: GPUTensorConstructor, dtype: DTypeGpu, allocator?: GPUMemoryAllocator); getVariables(): string; getUniformAttrs(): Input[]; getFragmentShader(info: AddIndexInfo): string; getTextureNames(): string[]; calc(input: AddIndexInput): GPUTensor; getOutputShape(input: AddIndexInput): readonly number[]; compile(info: AddIndexInfo): void; getCompilationInfo(input: AddIndexInput): AddIndexInfo; getInputInfoString(input: AddIndexInput): string; } export declare const defaultAddIndexD: Dispatcher>>; export declare function addIndexGPU(indices: GPUTensor<'uint32'>, axis: number, count: number): GPUTensor<'uint32'>;