import { IRenderer, ISpecification, IRenderable, IStackeable } from '../api'; /** * Abstract renderer class. */ export declare abstract class AbstractRenderer implements IRenderer { protected readonly content: HTMLElement; protected readonly suggest: HTMLElement; protected channelId?: string; protected constructor(content: HTMLElement, suggest: HTMLElement); /** * @inheritDoc */ render(message: ISpecification | IRenderable, containerType?: IStackeable): HTMLElement[]; /** * Renders an incoming {@link IRenderable} */ protected abstract renderElement(element: IRenderable, containerType?: IStackeable): HTMLElement[]; /** * Returns the html decoded message * * @param text to be decoded message */ private decodeEntities; /** * Returns the element by evaluating the message type. * * @param message the message */ private getRenderable; /** * @inheritDoc */ appendContent: (element: HTMLElement) => void; /** * @inheritDoc */ appendSuggest: (element: HTMLElement) => void; init(channelId?: string): void; }