/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ /*** THIS FILE IS GENERATED, DO NOT EDIT ***/ import { IdentifyServer as BaseIdentifyServer } from "../behaviors/identify/IdentifyServer.js"; import { GroupsServer as BaseGroupsServer } from "../behaviors/groups/GroupsServer.js"; import { OnOffServer as BaseOnOffServer } from "../behaviors/on-off/OnOffServer.js"; import { LevelControlServer as BaseLevelControlServer } from "../behaviors/level-control/LevelControlServer.js"; import { ScenesManagementServer as BaseScenesManagementServer } from "../behaviors/scenes-management/ScenesManagementServer.js"; import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js"; import { Identity } from "@matter/general"; /** * A Dimmable Light is a lighting device that is capable of being switched on or off and the intensity of its light * adjusted by means of a bound controller device such as a Dimmer Switch or a Color Dimmer Switch. In addition, a * Dimmable Light device is also capable of being switched by means of a bound occupancy sensor or other device(s). * * @see {@link MatterSpecification.v161.Device} ยง 4.2 */ export interface DimmableLightDevice extends Identity { } export declare namespace DimmableLightRequirements { /** * The Identify cluster is required by the Matter specification. * * This version of {@link IdentifyServer} is specialized per the specification. */ const IdentifyServer: import("../index.js").ClusterBehavior.Type, never>, import("@matter/types").ClusterType.Concrete, typeof BaseIdentifyServer.Internal, "identify">; /** * The Groups cluster is required by the Matter specification. * * We provide this alias to the default implementation {@link GroupsServer} for convenience. */ const GroupsServer: typeof BaseGroupsServer; /** * The OnOff cluster is required by the Matter specification. * * This version of {@link OnOffServer} is specialized per the specification. */ const OnOffServer: import("../index.js").ClusterBehavior.Type, { deadFrontBehavior: false; lighting: false; offOnly: false; }>, { deadFrontBehavior: false; lighting: true; offOnly: false; }>, import("@matter/types").ClusterType.Concrete, typeof import("../behaviors/on-off/OnOffServer.js").OnOffBaseServer.Internal, "onOff">; /** * The LevelControl cluster is required by the Matter specification. * * This version of {@link LevelControlServer} is specialized per the specification. */ const LevelControlServer: import("../index.js").ClusterBehavior.Type, { frequency: false; lighting: false; onOff: false; }>, { frequency: false; lighting: true; onOff: true; }>, import("@matter/types").ClusterType.Concrete, typeof import("../behaviors/level-control/LevelControlServer.js").LevelControlBaseServer.Internal, "levelControl">, import("@matter/types").ClusterType.WithEnabledAttributes, { frequency: false; lighting: false; onOff: false; }>, { frequency: false; lighting: true; onOff: true; }>, never>, never>, import("@matter/types").ClusterType.Concrete, typeof import("../behaviors/level-control/LevelControlServer.js").LevelControlBaseServer.Internal, "levelControl">; /** * The ScenesManagement cluster is required by the Matter specification. * * This version of {@link ScenesManagementServer} is specialized per the specification. */ const ScenesManagementServer: import("../index.js").ClusterBehavior.Type, never>, never>, import("@matter/types").ClusterType.Concrete, typeof BaseScenesManagementServer.Internal, "scenesManagement">; /** * The OccupancySensing cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link OccupancySensingClient} for convenience. */ const OccupancySensingClient: import("../behaviors/occupancy-sensing/OccupancySensingClient.js").OccupancySensingClientConstructor; /** * An implementation for each server cluster supported by the endpoint per the Matter specification. */ const server: { mandatory: { Identify: import("../index.js").ClusterBehavior.Type, never>, import("@matter/types").ClusterType.Concrete, typeof BaseIdentifyServer.Internal, "identify">; Groups: typeof BaseGroupsServer; OnOff: import("../index.js").ClusterBehavior.Type, { deadFrontBehavior: false; lighting: false; offOnly: false; }>, { deadFrontBehavior: false; lighting: true; offOnly: false; }>, import("@matter/types").ClusterType.Concrete, typeof import("../behaviors/on-off/OnOffServer.js").OnOffBaseServer.Internal, "onOff">; LevelControl: import("../index.js").ClusterBehavior.Type, { frequency: false; lighting: false; onOff: false; }>, { frequency: false; lighting: true; onOff: true; }>, import("@matter/types").ClusterType.Concrete, typeof import("../behaviors/level-control/LevelControlServer.js").LevelControlBaseServer.Internal, "levelControl">, import("@matter/types").ClusterType.WithEnabledAttributes, { frequency: false; lighting: false; onOff: false; }>, { frequency: false; lighting: true; onOff: true; }>, never>, never>, import("@matter/types").ClusterType.Concrete, typeof import("../behaviors/level-control/LevelControlServer.js").LevelControlBaseServer.Internal, "levelControl">; ScenesManagement: import("../index.js").ClusterBehavior.Type, never>, never>, import("@matter/types").ClusterType.Concrete, typeof BaseScenesManagementServer.Internal, "scenesManagement">; }; }; /** * A definition for each client cluster supported by the endpoint per the Matter specification. */ const client: { optional: { OccupancySensing: import("../behaviors/occupancy-sensing/OccupancySensingClient.js").OccupancySensingClientConstructor; }; }; } export declare const DimmableLightDeviceDefinition: MutableEndpoint.With, never>, import("@matter/types").ClusterType.Concrete, typeof BaseIdentifyServer.Internal, "identify">; } & { readonly groups: typeof BaseGroupsServer; } & { readonly onOff: import("../index.js").ClusterBehavior.Type, { deadFrontBehavior: false; lighting: false; offOnly: false; }>, { deadFrontBehavior: false; lighting: true; offOnly: false; }>, import("@matter/types").ClusterType.Concrete, typeof import("../behaviors/on-off/OnOffServer.js").OnOffBaseServer.Internal, "onOff">; } & { readonly levelControl: import("../index.js").ClusterBehavior.Type, { frequency: false; lighting: false; onOff: false; }>, { frequency: false; lighting: true; onOff: true; }>, import("@matter/types").ClusterType.Concrete, typeof import("../behaviors/level-control/LevelControlServer.js").LevelControlBaseServer.Internal, "levelControl">, import("@matter/types").ClusterType.WithEnabledAttributes, { frequency: false; lighting: false; onOff: false; }>, { frequency: false; lighting: true; onOff: true; }>, never>, never>, import("@matter/types").ClusterType.Concrete, typeof import("../behaviors/level-control/LevelControlServer.js").LevelControlBaseServer.Internal, "levelControl">; } & { readonly scenesManagement: import("../index.js").ClusterBehavior.Type, never>, never>, import("@matter/types").ClusterType.Concrete, typeof BaseScenesManagementServer.Internal, "scenesManagement">; }; }>, { readonly identify: import("../index.js").ClusterBehavior.Type, never>, import("@matter/types").ClusterType.Concrete, typeof BaseIdentifyServer.Internal, "identify">; } & { readonly groups: typeof BaseGroupsServer; } & { readonly onOff: import("../index.js").ClusterBehavior.Type, { deadFrontBehavior: false; lighting: false; offOnly: false; }>, { deadFrontBehavior: false; lighting: true; offOnly: false; }>, import("@matter/types").ClusterType.Concrete, typeof import("../behaviors/on-off/OnOffServer.js").OnOffBaseServer.Internal, "onOff">; } & { readonly levelControl: import("../index.js").ClusterBehavior.Type, { frequency: false; lighting: false; onOff: false; }>, { frequency: false; lighting: true; onOff: true; }>, import("@matter/types").ClusterType.Concrete, typeof import("../behaviors/level-control/LevelControlServer.js").LevelControlBaseServer.Internal, "levelControl">, import("@matter/types").ClusterType.WithEnabledAttributes, { frequency: false; lighting: false; onOff: false; }>, { frequency: false; lighting: true; onOff: true; }>, never>, never>, import("@matter/types").ClusterType.Concrete, typeof import("../behaviors/level-control/LevelControlServer.js").LevelControlBaseServer.Internal, "levelControl">; } & { readonly scenesManagement: import("../index.js").ClusterBehavior.Type, never>, never>, import("@matter/types").ClusterType.Concrete, typeof BaseScenesManagementServer.Internal, "scenesManagement">; }, {}>; export declare const DimmableLightDevice: DimmableLightDevice; //# sourceMappingURL=dimmable-light.d.ts.map