/**
 * BACnet array property implementation module
 *
 * This module provides the implementation for BACnet properties
 * that contain multiple values in an array.
 *
 * @module
 */
import { type ApplicationTagValueTypeMap, type BACNetAppData, ApplicationTag } from '@innovation-system/node-bacnet';
import { BDAbstractProperty, BDPropertyType } from './abstract.js';
/**
 * Implementation of a BACnet property with multiple values (array).
 *
 * @typeParam Tag - The BACnet application tag for the property values
 * @typeParam Type - The JavaScript type corresponding to the application tag
 */
export declare class BDArrayProperty<Tag extends ApplicationTag, Type extends ApplicationTagValueTypeMap[Tag] = ApplicationTagValueTypeMap[Tag]> extends BDAbstractProperty<Tag, Type, BACNetAppData<Tag, Type>[]> {
    type: BDPropertyType;
    /**
     * Reads the current values of this property for BACnet operations
     *
     * This internal method is used by BACnet objects to read the property values
     * when handling BACnet protocol operations.
     *
     * @returns The current property values in BACnet format
     * @internal
     */
    ___readData(index: number): BACNetAppData<ApplicationTag.UNSIGNED_INTEGER> | BACNetAppData<Tag, Type> | BACNetAppData<Tag, Type>[];
    /**
     * Writes new values to this property for BACnet operations
     *
     * This internal method is used by BACnet objects to write the property values
     * when handling BACnet protocol operations.
     *
     * @param data - The new values to write in BACnet format (single value or array)
     * @returns A promise that resolves when the values have been set
     * @throws BACnetError if the property is not writable or the value types are invalid
     * @internal
     */
    ___writeData(data: BACNetAppData<Tag, Type> | BACNetAppData<Tag, Type>[]): Promise<void>;
}
//# sourceMappingURL=array.d.ts.map