/**
 * @license
 * Copyright 2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Behavior } from "#behavior/Behavior.js";
import { DclCertificateService, DclConfig, DclOtaUpdateService, DclVendorInfoService } from "@matter/protocol";
/**
 * DCL (Distributed Compliance Ledger) configuration behavior.
 *
 * This behavior provides centralized configuration for DCL-related services.
 * Configuration can be set via:
 * - Environment variables (MATTER_DCL_PRODUCTIONURL, MATTER_DCL_TESTURL, etc.)
 * - Configuration file ({ "dcl": { "productionUrl": "..." } })
 * - Programmatically when building the node
 *
 * Environment variables:
 * - MATTER_DCL_PRODUCTIONURL - Production DCL API endpoint
 * - MATTER_DCL_TESTURL - Test DCL API endpoint
 * - MATTER_DCL_FETCHTESTCERTIFICATES - Enable test certificate fetching (true/false)
 * - MATTER_DCL_FETCHGITHUBCERTIFICATES - Enable GitHub dev cert fetching (true/false)
 *
 * @example Programmatic configuration:
 * ```typescript
 * const node = await ServerNode.create({
 *   behaviors: {
 *     dcl: {
 *       productionUrl: "https://custom.dcl.url",
 *       fetchTestCertificates: true,
 *     }
 *   }
 * });
 * ```
 */
export declare class DclBehavior extends Behavior {
    static readonly id = "dcl";
    state: DclBehavior.State;
    /** Get DclConfig for production DCL based on current state. */
    get productionConfig(): DclConfig;
    /** Get DclConfig for test DCL based on current state. */
    get testConfig(): DclConfig;
    /**
     * Get DclConfig based on production flag.
     * @param isProduction - true for production, false for test
     */
    configForProduction(isProduction: boolean): DclConfig;
    /** Get or create the DclCertificateService with current configuration. */
    get certificateService(): DclCertificateService;
    /** Get or create the DclVendorInfoService with current configuration. */
    get vendorInfoService(): DclVendorInfoService;
    /** Get or create the DclOtaUpdateService with current configuration. */
    get otaUpdateService(): DclOtaUpdateService;
}
export declare namespace DclBehavior {
    class State {
        /**
         * Production DCL API endpoint URL.
         *
         * Swagger docs: https://zigbee-alliance.github.io/distributed-compliance-ledger/#/
         */
        productionUrl: string;
        /** Test/Development DCL API endpoint URL. */
        testUrl: string;
        /** Whether to fetch test certificates in addition to production ones. */
        fetchTestCertificates: boolean;
        /** Whether to fetch development certificates from GitHub (only when fetchTestCertificates is true). */
        fetchGithubCertificates: boolean;
    }
}
//# sourceMappingURL=DclBehavior.d.ts.map