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