import { IOcaMediaClockAvailability, OcaMediaClockAvailability, } from '../../types/OcaMediaClockAvailability.js'; import { IOcaMediaClockRate, OcaMediaClockRate, } from '../../types/OcaMediaClockRate.js'; import { IOcaTime, OcaTime } from '../../types/OcaTime.js'; import { Arguments } from '../arguments.js'; import { PropertyEvent } from '../property_event.js'; import { RemoteDevice } from '../remote_device.js'; import { OcaAgent } from './OcaAgent.js'; /** * A media clock, internal or external. OCA Connection Management 3 (OCA-CM3) * version. * @extends OcaAgent * @class OcaMediaClock3 */ export declare class OcaMediaClock3 extends OcaAgent { /** * This event is emitted whenever Availability changes. */ OnAvailabilityChanged: PropertyEvent; /** * This event is emitted whenever TimeSourceONo changes. */ OnTimeSourceONoChanged: PropertyEvent; /** * This event is emitted whenever Offset changes. */ OnOffsetChanged: PropertyEvent; /** * This event is emitted whenever CurrentRate changes. */ OnCurrentRateChanged: PropertyEvent; /** * This event is emitted whenever SupportedRates changes. */ OnSupportedRatesChanged: PropertyEvent>; constructor(objectNumber: number, device: RemoteDevice); /** * Gets the value of the **Availability** property. * * @method OcaMediaClock3#GetAvailability * @returns {Promise} * A promise which resolves to a single value of type :class:`OcaMediaClockAvailability`. */ GetAvailability(): Promise; /** * Sets the value of the **Availability** property. Optional method, need not * be supported in all implementations. * * @method OcaMediaClock3#SetAvailability * @param {IOcaMediaClockAvailability} Availability * * @returns {Promise} */ SetAvailability(Availability: IOcaMediaClockAvailability): Promise; /** * Gets the current clock rate and the ONo of the associated **OcaTimeSource** * object. * The return values of this method are * * - Rate of type ``IOcaMediaClockRate`` * - TimeSourceONo of type ``number`` * * @method OcaMediaClock3#GetCurrentRate * @returns {Promise>} */ GetCurrentRate(): Promise>; /** * Sets the clock rate and the ONo of the associated **OcaTimeSource** object. * Optional method, may not be supported in all implementations. * * @method OcaMediaClock3#SetCurrentRate * @param {IOcaMediaClockRate} Rate * @param {number} TimeSourceONo * * @returns {Promise} */ SetCurrentRate( Rate: IOcaMediaClockRate, TimeSourceONo: number ): Promise; /** * Gets the offset of this media clock's time from that of the associated * **OcaTimeSource** object. * * @method OcaMediaClock3#GetOffset * @returns {Promise} * A promise which resolves to a single value of type :class:`OcaTime`. */ GetOffset(): Promise; /** * Sets the offset of this media clock's time from that of the associated * **OcaTimeSource** object. Optional method, may not be supported in all * implementations. * * @method OcaMediaClock3#SetOffset * @param {IOcaTime} Offset * * @returns {Promise} */ SetOffset(Offset: IOcaTime): Promise; /** * Gets the list of supported media clock rates for each supported time * source. * * @method OcaMediaClock3#GetSupportedRates * @returns {Promise>} * A promise which resolves to a single value of type ``Map``. */ GetSupportedRates(): Promise>; }