import { BinaryOp, Dyno, TrinaryOp, UnaryOp } from "./base";
import { type AddOutput, type ClampOutput, type DivOutput, type IModOutput, type IsInfOutput, type IsNanOutput, type MaxOutput, type MinOutput, type MixOutput, type ModOutput, type MulOutput, type SmoothstepOutput, type StepOutput, type SubOutput } from "./mathTypes";
import type { AllIntTypes, AllSignedTypes, AllValueTypes, BoolTypes, FloatTypes, SignedTypes, ValueTypes } from "./types";
import { type DynoVal } from "./value";
export declare const add: (a: DynoVal, b: DynoVal) => DynoVal>;
export declare const sub: (a: DynoVal, b: DynoVal) => DynoVal>;
export declare const mul: (a: DynoVal, b: DynoVal) => DynoVal>;
export declare const div: (a: DynoVal, b: DynoVal) => DynoVal>;
export declare const imod: (a: DynoVal, b: DynoVal) => DynoVal>;
export declare const mod: (a: DynoVal, b: DynoVal) => DynoVal>;
export declare const modf: (a: DynoVal) => {
fract: DynoVal;
integer: DynoVal;
};
export declare const neg: (a: DynoVal) => DynoVal;
export declare const abs: (a: DynoVal) => DynoVal;
export declare const sign: (a: DynoVal) => DynoVal;
export declare const floor: (a: DynoVal) => DynoVal;
export declare const ceil: (a: DynoVal) => DynoVal;
export declare const trunc: (a: DynoVal) => DynoVal;
export declare const round: (a: DynoVal) => DynoVal;
export declare const fract: (a: DynoVal) => DynoVal;
export declare const pow: (a: DynoVal, b: DynoVal) => DynoVal;
export declare const exp: (a: DynoVal) => DynoVal;
export declare const exp2: (a: DynoVal) => DynoVal;
export declare const log: (a: DynoVal) => DynoVal;
export declare const log2: (a: DynoVal) => DynoVal;
export declare const sqr: (a: DynoVal) => DynoVal;
export declare const sqrt: (a: DynoVal) => DynoVal;
export declare const inversesqrt: (a: DynoVal) => DynoVal;
export declare const min: (a: DynoVal, b: DynoVal) => DynoVal>;
export declare const max: (a: DynoVal, b: DynoVal) => DynoVal>;
export declare const clamp: (a: DynoVal, min: DynoVal, max: DynoVal) => DynoVal>;
export declare const mix: (a: DynoVal, b: DynoVal, t: DynoVal) => DynoVal>;
export declare const step: (edge: DynoVal, x: DynoVal) => DynoVal>;
export declare const smoothstep: (edge0: DynoVal, edge1: DynoVal, x: DynoVal) => DynoVal>;
export declare const isNan: (a: DynoVal) => DynoVal>;
export declare const isInf: (a: DynoVal) => DynoVal>;
export declare class Add extends BinaryOp, "sum"> {
constructor({ a, b }: {
a: DynoVal;
b: DynoVal;
});
}
export declare class Sub extends BinaryOp, "difference"> {
constructor({ a, b }: {
a: DynoVal;
b: DynoVal;
});
}
export declare class Mul extends BinaryOp, "product"> {
constructor({ a, b }: {
a: DynoVal;
b: DynoVal;
});
}
export declare class Div extends BinaryOp, "quotient"> {
constructor({ a, b }: {
a: DynoVal;
b: DynoVal;
});
}
export declare class IMod extends BinaryOp, "remainder"> {
constructor({ a, b }: {
a: DynoVal;
b: DynoVal;
});
}
export declare class Mod extends BinaryOp, "remainder"> {
constructor({ a, b }: {
a: DynoVal;
b: DynoVal;
});
}
export declare class Modf extends Dyno<{
a: A;
}, {
fract: A;
integer: A;
}> {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Neg extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Abs extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Sign extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Floor extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Ceil extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Trunc extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Round extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Fract extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Pow extends BinaryOp {
constructor({ a, b }: {
a: DynoVal;
b: DynoVal;
});
}
export declare class Exp extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Exp2 extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Log extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Log2 extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Sqr extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Sqrt extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class InverseSqrt extends UnaryOp {
constructor({ a }: {
a: DynoVal;
});
}
export declare class Min extends BinaryOp, "min"> {
constructor({ a, b }: {
a: DynoVal;
b: DynoVal;
});
}
export declare class Max extends BinaryOp, "max"> {
constructor({ a, b }: {
a: DynoVal;
b: DynoVal;
});
}
export declare class Clamp extends TrinaryOp, "clamp"> {
constructor({ a, min, max, }: {
a: DynoVal;
min: DynoVal;
max: DynoVal;
});
}
export declare class Mix extends TrinaryOp, "mix"> {
constructor({ a, b, t }: {
a: DynoVal;
b: DynoVal;
t: DynoVal;
});
}
export declare class Step extends BinaryOp, "step"> {
constructor({ edge, x }: {
edge: DynoVal;
x: DynoVal;
});
}
export declare class Smoothstep extends TrinaryOp, "smoothstep"> {
constructor({ edge0, edge1, x, }: {
edge0: DynoVal;
edge1: DynoVal;
x: DynoVal;
});
}
export declare class IsNan extends UnaryOp, "isNan"> {
constructor({ a }: {
a: DynoVal;
});
}
export declare class IsInf extends UnaryOp, "isInf"> {
constructor({ a }: {
a: DynoVal;
});
}