import { type AnyRule } from '../nodes/index.js';
import { BaseDeserializer } from './base-deserializer.js';
import { type InputByteBuffer } from '../utils/input-byte-buffer.js';
/**
 * `RuleDeserializer` is responsible for deserializing the rules.
 *
 * It automatically determines the category and syntax of the rule, so you can pass any kind of rule to it.
 */
export declare class RuleDeserializer extends BaseDeserializer {
    /**
     * Deserializes a rule node from binary format.
     *
     * @param buffer ByteBuffer for reading binary data.
     * @param node Destination node.
     */
    static deserialize(buffer: InputByteBuffer, node: Partial<AnyRule>): void;
}
