/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Bytes } from "@matter/general";
import { Schema } from "@matter/types";
interface BdxCounterOnly {
    blockCounter: number;
}
/** @see {@link MatterSpecification.v141.Core}, section 11.22.6.2 */
export interface BdxBlockQuery extends BdxCounterOnly {
}
/** @see {@link MatterSpecification.v141.Core}, section 11.22.6.6 */
export interface BdxBlockAck extends BdxCounterOnly {
}
/** @see {@link MatterSpecification.v141.Core}, section 11.22.6.7 */
export interface BdxBlockAckEof extends BdxCounterOnly {
}
/** @see {@link MatterSpecification.v141.Core}, section 11.22.6.3 */
export interface BdxBlockQueryWithSkip extends BdxCounterOnly {
    bytesToSkip: number | bigint;
}
/** @see {@link MatterSpecification.v141.Core}, section 11.22.6.4 */
export interface BdxBlock extends BdxCounterOnly {
    data: Bytes;
}
/** @see {@link MatterSpecification.v141.Core}, section 11.22.6.5 */
export interface BdxBlockEof extends BdxBlock {
}
/** Schema for BDX messages that only contain a block counter: BlockQuery, BlockAck, BlockAckEof. */
export declare class BdxCounterOnlyMessageSchema extends Schema<BdxCounterOnly> {
    encodeInternal(message: BdxCounterOnly): Uint8Array<ArrayBufferLike>;
    decodeInternal(bytes: Bytes): BdxCounterOnly;
}
export declare const BdxBlockQueryMessage: BdxCounterOnlyMessageSchema;
export declare const BdxBlockAckMessage: BdxCounterOnlyMessageSchema;
export declare const BdxBlockAckEofMessage: BdxCounterOnlyMessageSchema;
/** Schema for BDX BlockQueryWithSkip message. */
export declare class BdxBlockQueryWithSkipMessageSchema extends Schema<BdxBlockQueryWithSkip> {
    encodeInternal(message: BdxBlockQueryWithSkip): Uint8Array<ArrayBufferLike>;
    decodeInternal(bytes: Bytes): BdxBlockQueryWithSkip;
}
export declare const BdxBlockQueryWithSkipMessage: BdxBlockQueryWithSkipMessageSchema;
/** Schema for BDX Block and BlockEof message that contain Block data. */
export declare class BdxBlockMessageSchema extends Schema<BdxBlock> {
    encodeInternal(message: BdxBlock): Uint8Array<ArrayBufferLike>;
    decodeInternal(bytes: Bytes): BdxBlock;
}
export declare const BdxBlockMessage: BdxBlockMessageSchema;
export declare const BdxBlockEofMessage: BdxBlockMessageSchema;
export {};
//# sourceMappingURL=BdxBlockMessagesSchema.d.ts.map