import { IOcaTransferFunction, OcaTransferFunction, } from '../../types/OcaTransferFunction.js'; import { Arguments } from '../arguments.js'; import { PropertyEvent } from '../property_event.js'; import { RemoteDevice } from '../remote_device.js'; import { OcaActuator } from './OcaActuator.js'; /** * Arbitrary-curve filter, with transfer function specified as amplitude and * phase versus frequency. * @extends OcaActuator * @class OcaFilterArbitraryCurve */ export declare class OcaFilterArbitraryCurve extends OcaActuator { /** * This event is emitted whenever TransferFunction changes. */ OnTransferFunctionChanged: PropertyEvent; /** * This event is emitted whenever SampleRate changes. */ OnSampleRateChanged: PropertyEvent; /** * This event is emitted whenever TFMinLength changes. */ OnTFMinLengthChanged: PropertyEvent; /** * This event is emitted whenever TFMaxLength changes. */ OnTFMaxLengthChanged: PropertyEvent; constructor(objectNumber: number, device: RemoteDevice); /** * Gets the complex transfer function. * * @method OcaFilterArbitraryCurve#GetTransferFunction * @returns {Promise} * A promise which resolves to a single value of type :class:`OcaTransferFunction`. */ GetTransferFunction(): Promise; /** * Sets the complex transfer function. * * @method OcaFilterArbitraryCurve#SetTransferFunction * @param {IOcaTransferFunction} TransferFunction * * @returns {Promise} */ SetTransferFunction(TransferFunction: IOcaTransferFunction): Promise; /** * Gets the value and limits of the filter sampling rate. * The return values of this method are * * - Rate of type ``number`` * - minRate of type ``number`` * - maxRate of type ``number`` * * @method OcaFilterArbitraryCurve#GetSampleRate * @returns {Promise>} */ GetSampleRate(): Promise>; /** * Sets the filter sampling rate. * * @method OcaFilterArbitraryCurve#SetSampleRate * @param {number} Rate * * @returns {Promise} */ SetSampleRate(Rate: number): Promise; /** * Gets the value and limits of the TFMinLength property. * * @method OcaFilterArbitraryCurve#GetTFMinLength * @returns {Promise} * A promise which resolves to a single value of type ``number``. */ GetTFMinLength(): Promise; /** * Gets the value and limits of the TFMaxLength property. * * @method OcaFilterArbitraryCurve#GetTFMaxLength * @returns {Promise} * A promise which resolves to a single value of type ``number``. */ GetTFMaxLength(): Promise; }