import { Assertable } from './utils/Assertable';
import { Mat } from './Mat';
export declare class Graph extends Assertable {
    private needsBackprop;
    readonly backprop: Array<Function>;
    constructor(needsBackprop?: boolean);
    backward(): void;
    rowPluck(m: Mat, ix: number): Mat;
    private addRowPluckToBackprop(m, ix, out);
    tanh(m: Mat): Mat;
    private addTanhToBackprop(m, out);
    sigmoid(m: Mat): Mat;
    private addSigmoidToBackprop(m, out);
    relu(m: Mat): Mat;
    private addReluToBackprop(m, out);
    mul(m1: Mat, m2: Mat): Mat;
    private addMultiplyToBackprop(m1, m2, out);
    add(m1: Mat, m2: Mat): Mat;
    private addAdditionToBackprop(m1, m2, out);
    dot(m1: Mat, m2: Mat): Mat;
    private addDotToBackprop(m1, m2, out);
    eltmul(m1: Mat, m2: Mat): Mat;
    private addEltmulToBackprop(m1, m2, out);
}
