import type { FloatArray, Fn, NumericArray } from "@thi.ng/api";
import type { WindowFn } from "./api.js";
/**
 * Creates or fills a given buffer with results of window function `fn`.
 * The buffer size MUST be the same as the signal length given to
 * {@link fft}.
 *
 * @param fn -
 * @param lenOfBuf -
 */
export declare const window: (fn: WindowFn, lenOfBuf: number | FloatArray) => FloatArray;
/**
 * Takes a `signal` and `window` buffer and multiplies both elementwise. Writes
 * results into `out` (or back into `signal` by default).
 *
 * @param signal -
 * @param window -
 * @param out -
 */
export declare const applyWindow: (signal: NumericArray, window: NumericArray, out?: NumericArray) => NumericArray;
export declare const windowRect: WindowFn;
export declare const windowBartlett: WindowFn;
export declare const windowWelch: WindowFn;
export declare const windowSin: WindowFn;
export declare const windowSinPow: Fn<number, WindowFn>;
export declare const windowLanczos: WindowFn;
export declare const windowHann: import("@thi.ng/api").FnN2;
export declare const windowHamming: import("@thi.ng/api").FnN2;
export declare const windowBlackman: import("@thi.ng/api").FnN2;
export declare const windowBlackmanHarris: import("@thi.ng/api").FnN2;
export declare const windowNuttall: import("@thi.ng/api").FnN2;
export declare const windowBlackmanNuttall: import("@thi.ng/api").FnN2;
export declare const windowGauss: (a?: number) => WindowFn;
//# sourceMappingURL=window.d.ts.map