/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { PersistedMessageCounter } from "#protocol/MessageCounter.js";
import { MessageReceptionStateEncryptedWithRollover } from "#protocol/MessageReceptionState.js";
import { Bytes, Crypto, StorageContext } from "@matter/general";
import { NodeId } from "@matter/types";
export declare class MessagingState {
    #private;
    constructor(crypto: Crypto, storage?: StorageContext);
    set storage(storage: StorageContext);
    /**
     * Return the message counter for sending messages to a group with the given operational key.
     */
    counterFor(operationalKey: Bytes): PersistedMessageCounter;
    removeCounter(key: Bytes, forDelete?: boolean): Promise<void>;
    /**
     * Returns the message reception state for a given source node id and operational key.
     */
    receptionStateFor(sourceNodeId: NodeId, operationalKey: Bytes): MessageReceptionStateEncryptedWithRollover;
}
//# sourceMappingURL=MessagingState.d.ts.map