import { AutoFunction, FunctionInput, GradientContext, GradientFunctionOutput } from "./autograd"; import type { Tensor } from "./tensor"; export declare class AbsFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class AcosFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class AcoshFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class AddFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class AsinFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class AsinhFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class AtanFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class Atan2Function extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class CeilFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class CopysignFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class CosFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class CoshFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class Deg2radFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class DivFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class ExpFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class Exp2Function extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class Expm1Function extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class FloorFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class FracFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class HypotFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class LdexpFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class LogFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class Log10Function extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class Log1pFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class Log2Function extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class LogaddexpFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class Logaddexp2Function extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class MulFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class NegFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class PositiveFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class PowFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class Rad2degFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class ReciprocalFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class ReluFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class RoundFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class RsqrtFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class SigmoidFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class SignFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class SiluFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class SinFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class SincFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class SinhFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class SqrtFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class SquareFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class SubFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class TanFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class TanhFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class TruncFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class XlogyFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class AllFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class AnyFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class MeanFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class NormFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class ProdFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class SumFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; } export declare class CountNonzeroFunction extends AutoFunction { static forward(inputs: FunctionInput[]): Tensor; static setupContext(ctx: GradientContext, inputs: FunctionInput[], output: Tensor): void; static backward(ctx: GradientContext, outputGrad: Tensor): GradientFunctionOutput[]; }