export class BinaryCollectionSerializer {
    /**
     * @private
     * @type {BinarySerializationRegistry}
     */
    private registry;
    /**
     * @private
     * @type {BinaryBuffer}
     */
    private buffer;
    /**
     * @private
     * @type {BinaryClassSerializationAdapter}
     */
    private adapter;
    /**
     *
     * @type {String}
     */
    className: string;
    /**
     *
     * @type {boolean}
     * @private
     */
    private __dictionaryEnabled;
    /**
     * @private
     * @type {number}
     */
    private elementCount;
    /**
     * @private
     * @type {number}
     */
    private startAddress;
    /**
     * @private
     * @type {number}
     */
    private headerAddress;
    /**
     * @private
     * @type {Map<any, number>}
     */
    private dictionary;
    /**
     *
     * @param {string} className
     */
    setClass(className: string): void;
    /**
     *
     * @param {BinarySerializationRegistry} registry
     */
    setRegistry(registry: BinarySerializationRegistry): void;
    /**
     *
     * @param {BinaryBuffer} buffer
     */
    setBuffer(buffer: BinaryBuffer): void;
    /**
     *
     * @returns {number}
     */
    getElementCount(): number;
    /**
     *
     * @param {function(string,Class, BinaryClassSerializationAdapter):[]} [adapterOptionsSupplier]
     * @param {function(string):*} [problemConsumer]
     * @returns {boolean}
     */
    initialize({ adapterOptionsSupplier, problemConsumer }?: (arg0: string, arg1: Class, arg2: BinaryClassSerializationAdapter) => []): boolean;
    finalize(): void;
    /**
     * @template T
     * @param {T} value
     * @private
     */
    private writePlainValue;
    /**
     * @template T
     * @param {number} key
     * @param {T} value
     */
    write<T>(key: number, value: T): void;
}
//# sourceMappingURL=BinaryCollectionSerializer.d.ts.map