/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { TlvSchema } from "@matter/types";
import { ExchangeSendOptions } from "../../protocol/MessageExchange.js";
import { SecureChannelMessenger } from "../../securechannel/SecureChannelMessenger.js";
import { PasePake1, PasePake2, PasePake3, PbkdfParamRequest, PbkdfParamResponse } from "./PaseMessages.js";
export declare const DEFAULT_PASSCODE_ID = 0;
export declare const SPAKE_CONTEXT: AllowSharedBufferSource;
export declare class PaseServerMessenger extends SecureChannelMessenger {
    #private;
    readPbkdfParamRequest(): Promise<{
        requestPayload: AllowSharedBufferSource;
        request: PbkdfParamRequest;
    }>;
    sendPbkdfParamResponse(response: PbkdfParamResponse): Promise<AllowSharedBufferSource>;
    readPasePake1(): Promise<import("@matter/types").TypeFromFields<{
        x: import("@matter/types").FieldType<any>;
    }>>;
    sendPasePake2(pasePake2: PasePake2): Promise<AllowSharedBufferSource>;
    readPasePake3(): Promise<import("@matter/types").TypeFromFields<{
        verifier: import("@matter/types").FieldType<any>;
    }>>;
    close(): Promise<void>;
    send<T>(message: T, type: number, schema: TlvSchema<T>, options?: ExchangeSendOptions): Promise<AllowSharedBufferSource>;
    nextMessage(options: SecureChannelMessenger.ReadOptions): Promise<import("../../index.js").Message>;
}
export declare class PaseClientMessenger extends SecureChannelMessenger {
    sendPbkdfParamRequest(request: PbkdfParamRequest, options?: ExchangeSendOptions): Promise<AllowSharedBufferSource>;
    readPbkdfParamResponse(options?: SecureChannelMessenger.ReadOptions): Promise<{
        responsePayload: AllowSharedBufferSource;
        response: PbkdfParamResponse;
    }>;
    sendPasePake1(pasePake1: PasePake1, options?: ExchangeSendOptions): Promise<AllowSharedBufferSource>;
    readPasePake2(options?: SecureChannelMessenger.ReadOptions): Promise<import("@matter/types").TypeFromFields<{
        y: import("@matter/types").FieldType<any>;
        verifier: import("@matter/types").FieldType<any>;
    }>>;
    sendPasePake3(pasePake3: PasePake3, options?: ExchangeSendOptions): Promise<AllowSharedBufferSource>;
}
//# sourceMappingURL=PaseMessenger.d.ts.map