export class BinaryCollectionDeSerializer {
    /**
     * @private
     * @type {BinarySerializationRegistry}
     */
    private registry;
    /**
     * @private
     * @type {BinaryBuffer}
     */
    private buffer;
    /**
     *
     * @type {boolean}
     * @private
     */
    private __dictionaryEnabled;
    /**
     *
     * @type {boolean}
     * @private
     */
    private __upgradeRequired;
    /**
     * @private
     * @type {number}
     */
    private elementCount;
    /**
     * @private
     * @type {number}
     */
    private elementIndex;
    /**
     * @private
     * @type {number}
     */
    private startAddress;
    /**
     * @private
     * @type {BinaryClassSerializationAdapter}
     */
    private adapter;
    /**
     * @private
     * @type {BinaryClassUpgrader[]}
     */
    private upgraders;
    /**
     *
     * @type {BinaryBuffer}
     * @private
     */
    private __upgradeBuffer0;
    /**
     *
     * @type {BinaryBuffer}
     * @private
     */
    private __upgradeBuffer1;
    /**
     * @private
     * @type {State}
     */
    private state;
    /**
     *
     * @param {BinarySerializationRegistry} registry
     */
    setRegistry(registry: BinarySerializationRegistry): void;
    /**
     *
     * @returns {BinarySerializationRegistry}
     */
    getRegistry(): BinarySerializationRegistry;
    /**
     *
     * @param {BinaryBuffer} buffer
     */
    setBuffer(buffer: BinaryBuffer): void;
    /**
     *
     * @returns {number}
     */
    getElementCount(): number;
    /**
     *
     * @returns {number}
     */
    getElementIndex(): number;
    /**
     * @template
     * @returns {Class<T>|null}
     */
    getElementClass(): Class<T> | null;
    /**
     *
     * @param {function(string,Class, BinaryClassSerializationAdapter):[]} [adapterOptionsSupplier]
     */
    initialize({ adapterOptionsSupplier }?: (arg0: string, arg1: Class, arg2: BinaryClassSerializationAdapter) => []): void;
    finalize(): void;
    /**
     * @private
     * @returns T
     */
    private readPlainValue;
    /**
     * @template T
     * @returns {{value: T, key: number}}
     */
    read<T>(): {
        value: T;
        key: number;
    };
}
import { BinaryBuffer } from "../../../../../core/binary/BinaryBuffer.js";
//# sourceMappingURL=BinaryCollectionDeSerializer.d.ts.map