import { BrsType } from ".."; import { BrsInvalid } from "../BrsType"; import { Callable } from "../Callable"; import { BrsInterface } from "../BrsInterface"; export declare class BrsComponent { private methods; private readonly componentName; readonly interfaces: Map; constructor(name: string); /** * Returns the name of the component, used to create instances via `createObject`. * @returns the name of this component. */ getComponentName(): string; hasInterface(interfaceName: string): boolean; protected registerMethods(interfaces: Record): void; /** Appends a method to the component. */ appendMethod(index: string, method: Callable): void; /** Given a list of methods, appends all of them to the component. */ appendMethods(methods: Callable[]): void; getMethod(index: string): Callable | undefined; } /** Represents a BrightScript component that has elements that can be iterated across. */ export interface BrsIterable { /** * Returns the set of iterable elements contained in this component. * @returns an array of elements contained in this component. */ getElements(): ReadonlyArray; /** * Retrieves an element from this component at the provided `index`. * @param index the index in this component from which to retrieve the desired element. * @param isCaseSensitive determinate whether operation of getting should be case sensitive or not. * @returns the element at `index` if one exists, otherwise throws an Error. */ get(index: BrsType, isCaseSensitive?: boolean): BrsType; set(index: BrsType, value: BrsType, isCaseSensitive?: boolean): BrsInvalid; }