/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import type { ServerNode } from "#node/ServerNode.js";
import { FailsafeContext, MessageExchange } from "@matter/protocol";
/**
 * {@link FailsafeContext} for {@link ServerNode} API.
 */
export declare class ServerNodeFailsafeContext extends FailsafeContext {
    #private;
    constructor(node: ServerNode, options: FailsafeContext.Options);
    /**
     * Persist endpoint credentials and network configurations for restoration if commissioning does not complete.
     *
     * The Matter 1.2 specification makes it pretty clear that Matter supports configuration of multiple network
     * interfaces (e.g. @see {@link MatterSpecification.v11.Core} § 11.8.8 and § 2.3.2).
     * {@link NetworkCommissioningCluster} of the primary interface is on the root endpoint.  However it's not clear
     * where {@link NetworkCommissioningCluster} instances for secondary interfaces reside.  To be on the safe side
     * we just assume any endpoint may support {@link NetworkCommissioningCluster}.
     *
     * TODO - it's recommended to reset all state if commissioning bails; currently we perform mandatory restore
     */
    storeEndpointState(): Promise<void>;
    restoreNetworkState(): Promise<void>;
    restoreBreadcrumb(): Promise<void>;
    rollback(currentExchange?: MessageExchange): Promise<void>;
}
//# sourceMappingURL=ServerNodeFailsafeContext.d.ts.map