import { BrsType } from "..";
import { BrsValue, ValueKind, BrsBoolean, BrsInvalid, BrsString } from "../BrsType";
import { BrsComponent } from "./BrsComponent";
import { RoXMLElement } from "./RoXMLElement";
import { BrsList } from "../interfaces/IfList";
export declare class RoXMLList extends BrsComponent implements BrsValue, BrsList {
    readonly kind = ValueKind.Object;
    private readonly roList;
    readonly resizable: boolean;
    maxSize: number;
    constructor(elements?: BrsType[]);
    get listIndex(): number;
    toString(parent?: BrsType): string;
    equalTo(other: BrsType): BrsBoolean;
    getValue(): BrsType[];
    getElements(): BrsType[];
    getAttribute(index: BrsType): BrsString | BrsInvalid;
    get(index: BrsType): BrsType | RoXMLList;
    set(index: BrsType, value: BrsType): BrsInvalid;
    hasNext(): BrsBoolean;
    getNext(): BrsType;
    resetNext(): void;
    updateNext(): void;
    add(element: RoXMLElement): void;
    remove(index: number): BrsType | undefined;
    clear(): void;
    length(): number;
    getCurrent(): BrsType;
    resetCurrent(): boolean;
    tail(): number;
    namedElements(name: string, ci: boolean): RoXMLList;
    /** If list contains only one item, returns the attributes of that item. Otherwise returns invalid */
    private readonly getAttributes;
    /** If list contains only one item, returns the text of that item. Otherwise, returns an empty string */
    private readonly getText;
    /** If the list contains exactly one item, returns the child elements of that item. */
    private readonly getChildElements;
    /** Returns a new XMLList that contains all roXMLElements that matched the passed in name. */
    private readonly getNamedElements;
    /** Same as GetNamedElements except the name matching is case-insensitive. */
    private readonly getNamedElementsCi;
    /** If the list contains exactly one item, Simplify() returns that item. Otherwise, it returns itself */
    private readonly simplify;
}
