/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { GeneralCommissioning } from "#clusters/general-commissioning";
import { MaybePromise } from "#general";
import { GeneralCommissioningBehavior } from "./GeneralCommissioningBehavior.js";
/**
 * This is the default server implementation of GeneralCommissioningBehavior.
 */
export declare class GeneralCommissioningServer extends GeneralCommissioningBehavior {
    #private;
    state: GeneralCommissioningServer.State;
    static lockOnInvoke: boolean;
    initialize(): MaybePromise;
    armFailSafe(request: GeneralCommissioning.ArmFailSafeRequest): Promise<{
        errorCode: GeneralCommissioning.CommissioningError;
        debugText: string;
    }>;
    setRegulatoryConfig({ breadcrumb, newRegulatoryConfig, countryCode, }: GeneralCommissioning.SetRegulatoryConfigRequest): Promise<{
        errorCode: GeneralCommissioning.CommissioningError;
        debugText: string;
    }>;
    commissioningComplete(): Promise<{
        errorCode: GeneralCommissioning.CommissioningError;
        debugText: string;
    }>;
}
export declare namespace GeneralCommissioningServer {
    class State extends GeneralCommissioningBehavior.State {
        /**
         * Set to false to prevent the controller from changing the country code during commissioning.
         */
        allowCountryCodeChange: boolean;
        /**
         * Set to an array of two-letter country codes to limit the countries the controller may assign.
         */
        countryCodeWhitelist?: string[];
    }
}
//# sourceMappingURL=GeneralCommissioningServer.d.ts.map