/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
import { FanControlServer as BaseFanControlServer } from "../behaviors/fan-control/FanControlServer.js";
import { IdentifyServer as BaseIdentifyServer } from "../behaviors/identify/IdentifyServer.js";
import { HepaFilterMonitoringServer as BaseHepaFilterMonitoringServer } from "../behaviors/hepa-filter-monitoring/HepaFilterMonitoringServer.js";
import { ActivatedCarbonFilterMonitoringServer as BaseActivatedCarbonFilterMonitoringServer } from "../behaviors/activated-carbon-filter-monitoring/ActivatedCarbonFilterMonitoringServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { Identity } from "#general";
/**
 * An Extractor Hood is a device that is generally installed above a cooking surface in residential kitchens. An
 * Extractor Hood’s primary purpose is to reduce odors that arise during the cooking process by either extracting the
 * air above the cooking surface or by recirculating and filtering it. It may also contain a light for illuminating the
 * cooking surface.
 *
 * Extractor Hoods may also be known by the following names:
 *
 *   • Hoods
 *
 *   • Extractor Fans
 *
 *   • Extractors
 *
 *   • Range Hoods
 *
 *   • Telescoping Hoods
 *
 *   • Telescoping Extractors
 *
 * @see {@link MatterSpecification.v142.Device} § 13.10
 */
export interface ExtractorHoodDevice extends Identity<typeof ExtractorHoodDeviceDefinition> {
}
export declare namespace ExtractorHoodRequirements {
    /**
     * The FanControl cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link FanControlServer} for convenience.
     */
    const FanControlServer: typeof BaseFanControlServer;
    /**
     * The Identify cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link IdentifyServer} for convenience.
     */
    const IdentifyServer: typeof BaseIdentifyServer;
    /**
     * The HepaFilterMonitoring cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link HepaFilterMonitoringServer} for convenience.
     */
    const HepaFilterMonitoringServer: typeof BaseHepaFilterMonitoringServer;
    /**
     * The ActivatedCarbonFilterMonitoring cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link ActivatedCarbonFilterMonitoringServer} for
     * convenience.
     */
    const ActivatedCarbonFilterMonitoringServer: typeof BaseActivatedCarbonFilterMonitoringServer;
    /**
     * An implementation for each server cluster supported by the endpoint per the Matter specification.
     */
    const server: {
        mandatory: {
            FanControl: typeof BaseFanControlServer;
        };
        optional: {
            Identify: typeof BaseIdentifyServer;
            HepaFilterMonitoring: typeof BaseHepaFilterMonitoringServer;
            ActivatedCarbonFilterMonitoring: typeof BaseActivatedCarbonFilterMonitoringServer;
        };
    };
}
export declare const ExtractorHoodDeviceDefinition: MutableEndpoint.With<import("../index.js").EndpointType.For<{
    readonly name: "ExtractorHood";
    readonly deviceType: 122;
    readonly deviceRevision: 1;
    readonly requirements: typeof ExtractorHoodRequirements;
    readonly behaviors: {
        readonly fanControl: typeof BaseFanControlServer;
    };
}>, {
    readonly fanControl: typeof BaseFanControlServer;
}>;
export declare const ExtractorHoodDevice: ExtractorHoodDevice;
//# sourceMappingURL=extractor-hood.d.ts.map