/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { IndexBehavior } from "#behavior/system/index/IndexBehavior.js";
import { DeviceTypeId, Semtag } from "@matter/types";
import { Descriptor } from "@matter/types/clusters/descriptor";
import { DescriptorBehavior } from "./DescriptorBehavior.js";
/**
 * This is the default server implementation of DescriptorBehavior.
 */
export declare class DescriptorServer extends DescriptorBehavior {
    #private;
    static dependencies: (typeof IndexBehavior)[];
    initialize(): Promise<void>;
    /**
     * Extend device type metadata.  This is a shortcut for deduped insert into the deviceTypeList cluster attribute.
     *
     * @param deviceTypes an array of objects or named device types as defined in {@link Matter}
     */
    addDeviceTypes(...deviceTypes: (DescriptorServer.DeviceType | string)[]): void;
    /**
     * Add semantic tags.  This is a shortcut for deduped insert into the tagList cluster attribute.
     *
     * You must enable the "TagList" feature to use this method.
     */
    addTags(...tags: Semtag[]): void;
    /**
     * Check for presence of a device type.
     */
    hasDeviceType(type: DeviceTypeId): boolean;
}
export declare namespace DescriptorServer {
    type DeviceType = Descriptor.DeviceType;
}
//# sourceMappingURL=DescriptorServer.d.ts.map