/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
import { OptionalFixedAttribute, FixedAttribute, Attribute } from "../cluster/Cluster.js";
import { TypeFromSchema } from "../tlv/TlvSchema.js";
import { Identity } from "@matter/general";
export declare namespace ApplicationBasic {
    /**
     * This indicates a global identifier for an Application given a catalog.
     *
     * @see {@link MatterSpecification.v142.Cluster} § 6.3.4.2
     */
    const TlvApplication: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * This field shall indicate the Connectivity Standards Alliance issued vendor ID for the catalog. The DIAL
         * registry shall use value 0x0000.
         *
         * It is assumed that Content App Platform providers (see Video Player Architecture section in [MatterDevLib])
         * will have their own catalog vendor ID (set to their own Vendor ID) and will assign an ApplicationID to each
         * Content App.
         *
         * @see {@link MatterSpecification.v142.Cluster} § 6.3.4.2.1
         */
        catalogVendorId: import("../tlv/TlvObject.js").FieldType<number>;
        /**
         * This field shall indicate the application identifier, expressed as a string, such as "123456-5433",
         * "PruneVideo" or "Company X". This field shall be unique within a catalog.
         *
         * For the DIAL registry catalog, this value shall be the DIAL prefix.
         *
         * @see {@link MatterSpecification.v142.Cluster} § 6.3.4.2.2
         */
        applicationId: import("../tlv/TlvObject.js").FieldType<string>;
    }>;
    /**
     * This indicates a global identifier for an Application given a catalog.
     *
     * @see {@link MatterSpecification.v142.Cluster} § 6.3.4.2
     */
    interface Application extends TypeFromSchema<typeof TlvApplication> {
    }
    /**
     * @see {@link MatterSpecification.v142.Cluster} § 6.3.4.1
     */
    enum ApplicationStatus {
        /**
         * Application is not running.
         */
        Stopped = 0,
        /**
         * Application is running, is visible to the user, and is the active target for input.
         */
        ActiveVisibleFocus = 1,
        /**
         * Application is running but not visible to the user.
         */
        ActiveHidden = 2,
        /**
         * Application is running and visible, but is not the active target for input.
         */
        ActiveVisibleNotFocus = 3
    }
    /**
     * @see {@link Cluster}
     */
    const ClusterInstance: MutableCluster<{
        readonly id: 1293;
        readonly name: "ApplicationBasic";
        readonly revision: 1;
        readonly attributes: {
            /**
             * This attribute shall specify a human readable (displayable) name of the vendor for the Content App.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 6.3.5.1
             */
            readonly vendorName: OptionalFixedAttribute<string, any>;
            /**
             * This attribute, if present, shall specify the Connectivity Standards Alliance assigned Vendor ID for the
             * Content App.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 6.3.5.2
             */
            readonly vendorId: OptionalFixedAttribute<import("../datatype/VendorId.js").VendorId, any>;
            /**
             * This attribute shall specify a human readable (displayable) name of the Content App assigned by the
             * vendor. For example, "NPR On Demand". The maximum length of the ApplicationName attribute is 256 bytes of
             * UTF-8 characters.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 6.3.5.3
             */
            readonly applicationName: FixedAttribute<string, any>;
            /**
             * This attribute, if present, shall specify a numeric ID assigned by the vendor to identify a specific
             * Content App made by them. If the Content App is certified by the Connectivity Standards Alliance, then
             * this would be the Product ID as specified by the vendor for the certification.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 6.3.5.4
             */
            readonly productId: OptionalFixedAttribute<number, any>;
            /**
             * This attribute shall specify a Content App which consists of an Application ID using a specified catalog.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 6.3.5.5
             */
            readonly application: FixedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate the Connectivity Standards Alliance issued vendor ID for the catalog. The DIAL
                 * registry shall use value 0x0000.
                 *
                 * It is assumed that Content App Platform providers (see Video Player Architecture section in [MatterDevLib])
                 * will have their own catalog vendor ID (set to their own Vendor ID) and will assign an ApplicationID to each
                 * Content App.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 6.3.4.2.1
                 */
                catalogVendorId: import("../tlv/TlvObject.js").FieldType<number>;
                /**
                 * This field shall indicate the application identifier, expressed as a string, such as "123456-5433",
                 * "PruneVideo" or "Company X". This field shall be unique within a catalog.
                 *
                 * For the DIAL registry catalog, this value shall be the DIAL prefix.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 6.3.4.2.2
                 */
                applicationId: import("../tlv/TlvObject.js").FieldType<string>;
            }>, any>;
            /**
             * This attribute shall specify the current running status of the application.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 6.3.5.6
             */
            readonly status: Attribute<ApplicationStatus, any>;
            /**
             * This attribute shall specify a human readable (displayable) version of the Content App assigned by the
             * vendor. The maximum length of the ApplicationVersion attribute is 32 bytes of UTF-8 characters.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 6.3.5.7
             */
            readonly applicationVersion: FixedAttribute<string, any>;
            /**
             * This attribute is a list of vendor IDs. Each entry is a vendor-id.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 6.3.5.8
             */
            readonly allowedVendorList: FixedAttribute<import("../datatype/VendorId.js").VendorId[], any>;
        };
    }, []>;
    /**
     * This cluster provides information about a Content App running on a Video Player device which is represented as an
     * endpoint (see Device Type Library document).
     *
     * The cluster server for this cluster should be supported on each endpoint that represents a Content App on a Video
     * Player device. This cluster provides identification information about the Content App such as vendor and product.
     *
     * @see {@link MatterSpecification.v142.Cluster} § 6.3
     */
    interface Cluster extends Identity<typeof ClusterInstance> {
    }
    const Cluster: Cluster;
    const Complete: Cluster;
}
export type ApplicationBasicCluster = ApplicationBasic.Cluster;
export declare const ApplicationBasicCluster: ApplicationBasic.Cluster;
//# sourceMappingURL=application-basic.d.ts.map