import ClassList from "../classes/classList.js";
import NamedNodeMap from "../classes/namedNodeMap.js";
import Style from "../classes/style.js";
import { SVGElementMap } from "../interfaces/index.js";
import { Node } from "../nodes/Node.js";
export declare class SVGElement extends Node {
    tagName: string;
    attributes: NamedNodeMap;
    classList: ClassList;
    style: Style;
    constructor(tagName: string);
    get children(): Array<SVGElement>;
    get nextElementSibling(): SVGElement | null;
    get previousElementSibling(): SVGElement | null;
    get innerHTML(): string;
    set innerHTML(text: string);
    get outerHTML(): string;
    set innerText(text: string);
    get innerText(): string;
    setAttribute(attributeName: string, value: string): void;
    getAttribute(attributeName: string): string | null;
    removeAttribute(attributeName: string): void;
    toggleAttribute(attributeName: string, force?: boolean): boolean;
    hasAttribute(attributeName: string): boolean;
    hasAttributes(): boolean;
    get className(): string;
    set className(className: string);
    get id(): string | null;
    set id(id: string | null);
    get firstElementChild(): SVGElement | null;
    get lastElementChild(): SVGElement | null;
    removeChild(child: SVGElement): SVGElement;
    getElementsByClassName(className: string): Array<SVGElement>;
    getElementsByTagName(tagName: string): Array<SVGElement>;
    getElementById(id: string): SVGElement | null;
    tabIndex(index: number): this;
    get parentElement(): SVGElement | null;
    querySelector(selector: string): SVGElement | null;
    querySelectorAll(selector: string): Array<SVGElement> | null;
    closest<K extends keyof SVGElementMap>(selector: K): SVGElementMap[K] | null;
    matches(selector: string): boolean;
}
