/** * @license * Copyright 2025-2026 Open Home Foundation * SPDX-License-Identifier: Apache-2.0 */ import type { MatterClient, MatterNode } from "@matter-server/ws-client"; /** Camera AV Settings User Level Management cluster (spec 1.5.1 ยง11.3). */ export declare const AVSUM_CLUSTER_ID = 1362; export declare const AVSUM_FEAT_DPTZ: number; export declare const AVSUM_FEAT_MPAN: number; export declare const AVSUM_FEAT_MTILT: number; export declare const AVSUM_FEAT_MZOOM: number; export declare const AVSUM_FEAT_MPRESETS: number; export interface AvsumFeatures { dptz: boolean; mPan: boolean; mTilt: boolean; mZoom: boolean; mPresets: boolean; } export interface MptzPosition { pan: number | null; tilt: number | null; zoom: number | null; } export interface MptzRanges { panMin: number | null; panMax: number | null; tiltMin: number | null; tiltMax: number | null; zoomMax: number | null; } export type MovementState = "idle" | "moving" | "unknown"; export interface MptzPreset { presetId: number; name: string; settings: { pan: number | null; tilt: number | null; zoom: number | null; }; } export interface DptzStreamEntry { videoStreamId: number; } export declare function readFeatures(node: MatterNode, endpoint: number): AvsumFeatures; export declare function readPosition(node: MatterNode, endpoint: number): MptzPosition; export declare function readRanges(node: MatterNode, endpoint: number): MptzRanges; export declare function readMovementState(node: MatterNode, endpoint: number): MovementState; export declare function readPresets(node: MatterNode, endpoint: number): { items: MptzPreset[]; max: number; }; export declare function readDptzStreams(node: MatterNode, endpoint: number): DptzStreamEntry[]; export declare function relativeMove(client: MatterClient, nodeId: number | bigint, endpoint: number, delta: { panDelta?: number; tiltDelta?: number; zoomDelta?: number; }): Promise; export declare function moveToPreset(client: MatterClient, nodeId: number | bigint, endpoint: number, presetId: number): Promise; export declare function savePreset(client: MatterClient, nodeId: number | bigint, endpoint: number, name: string, presetId?: number): Promise; export declare function removePreset(client: MatterClient, nodeId: number | bigint, endpoint: number, presetId: number): Promise; export declare function dptzRelativeMove(client: MatterClient, nodeId: number | bigint, endpoint: number, streamId: number, delta: { deltaX?: number; deltaY?: number; zoomDelta?: number; }): Promise; export declare function hasAvsumOnEndpoint(node: MatterNode, endpoint: number): boolean; //# sourceMappingURL=avsum.d.ts.map