import type { IReset } from "@thi.ng/api";
import type { SVFType } from "./api.js";
import { AProc } from "./aproc.js";
export declare const svfLP: (fc: number, q?: number) => SVF;
export declare const svfHP: (fc: number, q?: number) => SVF;
export declare const svfBP: (fc: number, q?: number) => SVF;
export declare const svfNotch: (fc: number, q?: number) => SVF;
export declare const svfPeak: (fc: number, q?: number) => SVF;
export declare const svfAllpass: (fc: number, q?: number) => SVF;
/**
 * Multi-type state variable filter w/ trapezoidal integration, after
 * Andrew Simper.
 *
 * References:
 *
 * - https://cytomic.com/files/dsp/SvfLinearTrapOptimised2.pdf
 * - https://en.wikipedia.org/wiki/Trapezoidal_rule
 */
export declare class SVF extends AProc<number, number> implements IReset {
    protected _type: SVFType;
    protected _freq: number;
    protected _q: number;
    protected _a1: number;
    protected _a2: number;
    protected _c1: number;
    protected _c2: number;
    protected _g: number;
    protected _k: number;
    constructor(_type: SVFType, _freq: number, _q?: number);
    reset(): this;
    next(x: number): number;
    set(fc: number, q: number): void;
    setFreq(fc: number): void;
    setQ(q: number): void;
    protected computeCoeffs(): void;
}
//# sourceMappingURL=svf.d.ts.map