/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ /*** THIS FILE IS GENERATED, DO NOT EDIT ***/ import { OnOffServer as BaseOnOffServer } from "../behaviors/on-off/OnOffServer.js"; import { LevelControlServer as BaseLevelControlServer } from "../behaviors/level-control/LevelControlServer.js"; import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js"; import { Identity } from "@matter/general"; /** * This defines conformance to the Speaker device type. * * This feature controls the speaker volume of the device. * * To control unmute/mute, the On/Off cluster shall be used. A value of TRUE for the OnOff attribute shall represent the * volume on (not muted) state, while a value of FALSE shall represent the volume off (muted) state. For volume level * control, the Level cluster shall be used. * * A dedicated endpoint is needed because the On/Off cluster can also be used for other purposes, such as for power * control. * * The decision to use Level and On/Off clusters for volume (rather than defining a new audio control cluster) was made * in order to treat volume in a fashion consistent with lighting which also uses these clusters and has matching * functional requirements. * * @see {@link MatterSpecification.v161.Device} ยง 10.4 */ export interface SpeakerDevice extends Identity { } export declare namespace SpeakerRequirements { /** * The OnOff cluster is required by the Matter specification. * * We provide this alias to the default implementation {@link OnOffServer} for convenience. */ const OnOffServer: typeof BaseOnOffServer; /** * The LevelControl cluster is required by the Matter specification. * * We provide this alias to the default implementation {@link LevelControlServer} for convenience. */ const LevelControlServer: typeof BaseLevelControlServer; /** * An implementation for each server cluster supported by the endpoint per the Matter specification. */ const server: { mandatory: { OnOff: typeof BaseOnOffServer; LevelControl: typeof BaseLevelControlServer; }; }; } export declare const SpeakerDeviceDefinition: MutableEndpoint.With, { readonly onOff: typeof BaseOnOffServer; } & { readonly levelControl: typeof BaseLevelControlServer; }, {}>; export declare const SpeakerDevice: SpeakerDevice; //# sourceMappingURL=speaker.d.ts.map