interface SVGSVGElement : SVGGraphicsElement {
readonly attribute SVGAnimatedLength x;
readonly attribute SVGAnimatedLength y;
readonly attribute SVGAnimatedLength width;
readonly attribute SVGAnimatedLength height;
attribute DOMString contentScriptType;
attribute DOMString contentStyleType;
readonly attribute SVGRect viewport;
readonly attribute unrestricted float pixelUnitToMillimeterX;
readonly attribute unrestricted float pixelUnitToMillimeterY;
readonly attribute unrestricted float screenPixelToMillimeterX;
readonly attribute unrestricted float screenPixelToMillimeterY;
readonly attribute boolean useCurrentView;
readonly attribute SVGViewSpec currentView;
attribute unrestricted float currentScale;
readonly attribute SVGPoint currentTranslate;
unsigned long suspendRedraw(optional unsigned long maxWaitMilliseconds = 0);
void unsuspendRedraw(optional unsigned long suspendHandleId = 0);
void unsuspendRedrawAll();
void forceRedraw();
void pauseAnimations();
void unpauseAnimations();
boolean animationsPaused();
unrestricted float getCurrentTime();
void setCurrentTime(optional unrestricted float seconds = NaN);
NodeList getIntersectionList(SVGRect rect, optional SVGElement? referenceElement = null);
NodeList getEnclosureList(SVGRect rect, optional SVGElement? referenceElement = null);
boolean checkIntersection(SVGElement? element, SVGRect rect); boolean checkEnclosure(SVGElement? element, SVGRect rect);
void deselectAll();
SVGNumber createSVGNumber();
SVGLength createSVGLength();
SVGAngle createSVGAngle();
SVGPoint createSVGPoint();
SVGMatrix createSVGMatrix();
SVGRect createSVGRect();
SVGTransform createSVGTransform();
SVGTransform createSVGTransformFromMatrix(SVGMatrix matrix);
Element getElementById([RequiresExistingAtomicString] optional DOMString elementId = "undefined");
};
SVGSVGElement implements SVGExternalResourcesRequired;
SVGSVGElement implements SVGFitToViewBox;
SVGSVGElement implements SVGZoomAndPan;