/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { FabricManager } from "#fabric/FabricManager.js";
import { SessionManager } from "#session/SessionManager.js";
import { AsyncObservable, Environment, Environmental } from "@matter/general";
import { Message } from "../codec/MessageCodec.js";
import { MessageExchange } from "../protocol/MessageExchange.js";
import { ProtocolHandler } from "../protocol/ProtocolHandler.js";
import { PaseServer } from "../session/pase/PaseServer.js";
export declare class StatusReportOnlySecureChannelProtocol implements ProtocolHandler {
    readonly id = 0;
    readonly requiresSecureSession: undefined;
    onNewExchange(exchange: MessageExchange, message: Message): Promise<void>;
    handleInitialStatusReport(exchange: MessageExchange, message: Message): Promise<void>;
    close(): Promise<void>;
}
export declare class SecureChannelProtocol extends StatusReportOnlySecureChannelProtocol {
    #private;
    constructor(sessions: SessionManager, fabrics: FabricManager);
    static [Environmental.create](env: Environment): SecureChannelProtocol;
    /**
     * Emitted when the active PASE session hits the maximum error threshold.
     */
    get tooManyPaseErrors(): AsyncObservable<[], void>;
    setPaseCommissioner(paseServer: PaseServer): void;
    removePaseCommissioner(): Promise<void>;
    onNewExchange(exchange: MessageExchange, message: Message): Promise<void>;
}
//# sourceMappingURL=SecureChannelProtocol.d.ts.map