import type { ICopy, IReset } from "@thi.ng/api";
import { AGen } from "./agen.js";
/**
 * Returns new multiply-add gen producing `y(t) = factor * y(t-1) +
 * offset`. If `clamp` is given, the curve will be clamped at that
 * value.
 *
 * @param factor - default 1
 * @param start - default 1
 * @param offset - default 0
 * @param clamp - optional final value
 */
export declare const madd: (factor?: number, start?: number, offset?: number, clamp?: number) => MAdd;
export declare class MAdd extends AGen<number> implements ICopy<MAdd>, IReset {
    protected _factor: number;
    protected _start: number;
    protected _offset: number;
    protected _clamp?: number | undefined;
    constructor(_factor?: number, _start?: number, _offset?: number, _clamp?: number | undefined);
    copy(): MAdd;
    reset(): this;
    next(): number;
}
//# sourceMappingURL=madd.d.ts.map