import { BrsType, Int32 } from "..";
import { BrsValue, ValueKind, BrsBoolean, BrsInvalid } from "../BrsType";
import { BrsComponent, BrsIterable } from "./BrsComponent";
import { Callable } from "../Callable";
export declare class RoByteArray extends BrsComponent implements BrsValue, BrsIterable {
    readonly kind = ValueKind.Object;
    private maxSize;
    private resizable;
    elements: Uint8Array;
    enumIndex: number;
    constructor();
    constructor(elementsParam: Uint8Array);
    toString(parent?: BrsType): string;
    equalTo(other: BrsType): BrsBoolean;
    getValue(): Uint8Array<ArrayBufferLike>;
    getElements(): Int32[];
    getByteArray(): Uint8Array<ArrayBufferLike>;
    get(index: BrsType): Int32 | BrsInvalid | Callable;
    set(index: BrsType, value: BrsType): BrsInvalid;
    hasNext(): BrsBoolean;
    getNext(): Int32;
    updateNext(): void;
    resetNext(): void;
    updateCapacity(growthFactor?: number): void;
    isLittleEndian(): boolean;
    /** Reads the specified file into the Byte Array. Any data currently in the Byte Array is discarded. */
    private readonly readFile;
    /** Writes the bytes (or a subset) contained in the Byte Array to the specified file. */
    private readonly writeFile;
    /** Appends the contents (or a subset) of the Byte Array to the specified file. */
    private readonly appendFile;
    /** Sets the contents of the Byte Array to the specified string using UTF-8 encoding. Any data currently in the Byte Array is discarded. */
    private readonly fromAsciiString;
    /** Returns the contents of the Byte Array as a string. The contents must be valid UTF-8 (or ASCII subset), or the result is undefined. */
    private readonly toAsciiString;
    private readonly fromHexString;
    /** Returns a hexadecimal string representing the contents of the Byte Array, two digits per byte. */
    private readonly toHexString;
    /** Sets the contents of the Byte Array to the specified value. Any data currently in the Byte Array is discarded. */
    private readonly fromBase64String;
    /** Returns a base-64 string representing the contents of the Byte Array. */
    private readonly toBase64String;
    /** Returns the signed byte at the specified zero-based index in the Byte Array. */
    private readonly getSignedByte;
    /** Returns the signed long (four bytes) starting at the specified zero-based long index. */
    private readonly getSignedLong;
    /** Calculates a CRC-32 of the contents (or a subset) of the Byte Array. */
    private readonly getCRC32;
    /** If the size of the Byte Array is less than min_size, expands the Byte Array to min_size. */
    private readonly setResize;
    /** Returns true if the CPU architecture is little-endian. */
    private readonly isLittleEndianCPU;
    /** Returns the last array entry without removing it. If the array is empty, returns invalid. */
    private readonly peek;
    /** Returns the last entry from the array and removes it. If the array is empty, returns invalid. */
    private readonly pop;
    /** Adds the specified value to the end of the array. */
    private readonly push;
    /** Removes the first entry (zero index) from the beginning of the array and shifts the other entries up. */
    private readonly shift;
    /** Adds the specified value to the beginning of the array (at the zero index) and shifts the other entries down. */
    private readonly unshift;
    /** Deletes the indicated array entry, and shifts all entries up. This decreases the array length by one. */
    private readonly delete;
    /** Returns the length of the array, which is one more than the index of highest entry. */
    private readonly count;
    /** Deletes all the entries in the array. */
    private readonly clear;
    /** Appends the entries in one roArray to another. */
    private readonly append;
    /** Returns an array entry based on the provided index. */
    private readonly getEntry;
    /** Sets an entry at a given index to the passed value. If index is beyond the bounds of the array, the array is expanded. */
    private readonly setEntry;
    /** Returns the maximum number of entries that can be stored in the array. */
    private readonly capacity;
    /** Returns true if the array can be resized. */
    private readonly isResizable;
}
