import { TemplateResult } from 'lit-html';
import ArenaAttributes from '../interfaces/ArenaAttributes';
import { ArenaFormatings } from '../interfaces/ArenaFormating';
import { AnyArenaNode } from '../interfaces/ArenaNode';
import ArenaOptions, { HtmlProcessor } from '../interfaces/ArenaOptions';
export default abstract class AbstractArena {
    readonly name: string;
    readonly tag: string;
    readonly attributes: string[];
    readonly allowedAttributes: string[];
    protected getPublicProcessor: HtmlProcessor | undefined;
    constructor(options: ArenaOptions);
    getTemplate(children: TemplateResult | string, id: string, attributes: ArenaAttributes): TemplateResult | string;
    getOutputTemplate(children: string | undefined, attributes: ArenaAttributes, sigle?: boolean): string;
    getPublicHtml(children: string[] | string | undefined, attributes: ArenaAttributes, node: AnyArenaNode, frms: ArenaFormatings): string;
    getOpenTag(attributes: ArenaAttributes): string;
    getCloseTag(): string;
    protected getAttributesString(id: string, attributes: ArenaAttributes): string;
}
//# sourceMappingURL=AbstractArena.d.ts.map