/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { ExchangeSendOptions } from "#protocol/MessageExchange.js";
import { TypeFromSchema } from "@matter/types";
import { SecureChannelMessenger } from "../../securechannel/SecureChannelMessenger.js";
import { CaseSigma1, CaseSigma2, CaseSigma2Resume, TlvCaseSigma1, TlvCaseSigma2, TlvCaseSigma2Resume, TlvCaseSigma3 } from "./CaseMessages.js";
export declare class CaseServerMessenger extends SecureChannelMessenger {
    readSigma1(): Promise<{
        sigma1Bytes: AllowSharedBufferSource;
        sigma1: CaseSigma1;
    }>;
    sendSigma2(sigma2: TypeFromSchema<typeof TlvCaseSigma2>): Promise<AllowSharedBufferSource>;
    sendSigma2Resume(sigma2Resume: TypeFromSchema<typeof TlvCaseSigma2Resume>): Promise<AllowSharedBufferSource>;
    readSigma3(): Promise<{
        sigma3Bytes: AllowSharedBufferSource;
        sigma3: import("@matter/types").TypeFromFields<{
            encrypted: import("@matter/types").FieldType<AllowSharedBufferSource>;
        }>;
    }>;
}
export declare class CaseClientMessenger extends SecureChannelMessenger {
    sendSigma1(sigma1: TypeFromSchema<typeof TlvCaseSigma1>, options?: ExchangeSendOptions): Promise<AllowSharedBufferSource>;
    readSigma2(abort?: AbortSignal): Promise<{
        sigma2Bytes: AllowSharedBufferSource;
        sigma2: CaseSigma2;
        sigma2Resume?: undefined;
    } | {
        sigma2Resume: CaseSigma2Resume;
        sigma2Bytes?: undefined;
        sigma2?: undefined;
    }>;
    sendSigma3(sigma3: TypeFromSchema<typeof TlvCaseSigma3>, options?: ExchangeSendOptions): Promise<AllowSharedBufferSource>;
}
//# sourceMappingURL=CaseMessenger.d.ts.map