import { BrsType, Int32, Float } from "..";
import { BrsValue, ValueKind, BrsBoolean, BrsInvalid } from "../BrsType";
import { BrsComponent } from "./BrsComponent";
import { BrsArray } from "../interfaces/IfArray";
export declare class RoArray extends BrsComponent implements BrsValue, BrsArray {
    readonly kind = ValueKind.Object;
    readonly resizable: boolean;
    maxSize: number;
    elements: BrsType[];
    enumIndex: number;
    constructor(elements: BrsType[]);
    constructor(capacity: Int32 | Float, resizable: BrsBoolean);
    toString(parent?: BrsType): string;
    equalTo(other: BrsType): BrsBoolean;
    getValue(): BrsType[];
    getElements(): BrsType[];
    add(element: BrsType, onTail?: boolean): void;
    remove(index: number): BrsType | undefined;
    clear(): void;
    tail(): number;
    deepCopy(): BrsType;
    get(index: BrsType): BrsType;
    set(index: BrsType, value: BrsType): BrsInvalid;
    hasNext(): BrsBoolean;
    getNext(): BrsType;
    resetNext(): void;
    updateNext(grow?: boolean, factor?: number): void;
    private updateCapacity;
    private aaCompare;
    dispose(): void;
    addChildRef(value: BrsType | undefined): void;
    removeChildRef(value: BrsType | undefined): void;
    private readonly join;
    private readonly sort;
    private readonly sortBy;
    private readonly reverse;
    /** Returns a copy of a portion of an array into a new array selected from start to end (end not included) */
    private readonly slice;
    /** 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;
    /** Sends a request to allocate or increase storage capacity of the array to hold at least the specified number of items. */
    private readonly reserve;
    /** Request to free or decrease storage to the minimum needed to store the current number of items. */
    private readonly shrinkToFit;
}
