/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Bytes } from "#general";
import { Schema, TypeFromPartialBitSchema } from "#types";
import { BdxTransferControlBitmap } from "./BdxInitMessagesSchema.js";
/** @see {@link MatterSpecification.v141.Core}, section 11.22.5.2 */
export interface BdxSendAccept {
    /**
     * Transfer control details
     * TC
     * 1 octet
     */
    transferControl: TypeFromPartialBitSchema<typeof BdxTransferControlBitmap>;
    /**
     * Specifies the maximum data size (in bytes) of the block that the Initiator supports, exclusive of block header
     * fields, such as a block counter.
     * MBS, 2 octets
     */
    maxBlockSize: number;
    /**
     * Allows the Initiator to send additional application-specific information about the file to be transferred
     * MD, Variable length, TLV
     */
    metaData?: Bytes;
}
/** @see {@link MatterSpecification.v141.Core}, section 11.22.5.3 */
export interface BdxReceiveAccept extends BdxSendAccept {
    /**
     * Specifies a predetermined definite length for the transfer
     * DEFLEN, 4/8 octets
     */
    length?: number | bigint;
}
/** Schema for BDX SendAccept message */
export declare class BdxSendAcceptMessageSchema<M extends BdxSendAccept> extends Schema<M> {
    encodeInternal(message: M): Uint8Array<ArrayBufferLike>;
    decodeInternal(bytes: Bytes): M;
    validate({ transferControl, maxBlockSize }: M): void;
}
export declare const BdxSendAcceptMessage: BdxSendAcceptMessageSchema<BdxSendAccept>;
/** Schema for Bdx ReceiveAccept message */
export declare class BdxReceiveAcceptMessageSchema extends BdxSendAcceptMessageSchema<BdxReceiveAccept> {
    encodeInternal(message: BdxReceiveAccept): Uint8Array<ArrayBufferLike>;
    decodeInternal(bytes: Bytes): BdxReceiveAccept;
}
export declare const BdxReceiveAcceptMessage: BdxReceiveAcceptMessageSchema;
//# sourceMappingURL=BdxAcceptMessagesSchema.d.ts.map