import { WebGPUProgram } from '@tensorflow/tfjs-backend-webgpu';
export default class MatMul16ProgramGeneric implements WebGPUProgram {
    variableNames: string[];
    outputShape: number[];
    shaderKey: string;
    dispatchLayout: {
        x: number[];
        y: number[];
        z: number[];
    };
    dispatch: [number, number, number];
    workgroupSize: [number, number, number];
    dimInner: number;
    transposeA: boolean;
    transposeB: boolean;
    broadcastBatch: boolean;
    tileInner: number;
    uniforms?: string;
    scale: boolean;
    scaleA: boolean;
    scaleB: boolean;
    activation?: 'gelu' | 'relu2' | 'relu';
    causalMask: boolean;
    outputComponent?: number | undefined;
    variableComponents?: number[];
    outputIndexSnippet?: string;
    outputStrideSnippet?: string;
    constructor(batch: number, O1: number, O2: number, I1: number, I2: number, transposeA?: boolean, transposeB?: boolean);
    private addUniform;
    setOutputShape(shape: number[], perm?: number[]): void;
    useScale(): void;
    useScaleA(): void;
    useScaleB(): void;
    useActivation(activation: 'gelu' | 'relu2' | 'relu'): void;
    useCausalMask(): void;
    private activationSnippet;
    private readASnippet;
    private readBSnippet;
    private baseIndexSnippets;
    private offsetSnippets;
    getUserCode(): string;
}
