import { TypeCodec } from '../../TypeCodec';
import { Reader } from '../../Reader';
import { CodecContext } from '../../CodecContext';
import { Writer } from '../../Writer';
import { ArrayValue } from './ArrayValue';
import { BaseCodec } from '../../BaseCodec';
/**
 * Codec for UE ArrayProperty values with element dispatch via the registry.
 */
export declare class ArrayProperty extends BaseCodec implements TypeCodec<ArrayPropertyValue> {
    readonly type = "ArrayProperty";
    read(reader: Reader, length: number, ctx: CodecContext): ArrayPropertyValue;
    write(writer: Writer, value: ArrayPropertyValue, ctx: CodecContext): void | number;
    isSupported(value: unknown): value is ArrayPropertyValue;
}
export type ArrayPropertyValue = Array<unknown> | ArrayValue;
