// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'package:web/web.dart';

late AnchorElement $0;
late AreaElement $1;
late AudioElement $2;
late BaseElement $3;
late BodyElement $5;
late BRElement $6;
late ButtonElement $7;
late CanvasElement $8;
late CDataSection $9;
late CssConditionRule $11;
late CssFontFaceRule $12;
late CssGroupingRule $13;
late CssImageValue $14;
late CssImportRule $15;
late CssKeyframeRule $16;
late CssKeyframesRule $17;
late CssKeywordValue $18;
late CssMatrixComponent $19;
late CssMediaRule $20;
late CssNamespaceRule $21;
late CssNumericValue $22;
late CssPageRule $23;
late CssPerspective $24;
late CssRule $25;
late CssScale $26;
late CssSkew $27;
late CssStyleDeclaration $28;
late CssStyleRule $29;
late CssStyleSheet $30;
late CssStyleValue $31;
late CssSupportsRule $32;
late CssTransformComponent $33;
late CssTransformValue $34;
late CssUnitValue $35;
late CssUnparsedValue $36;
late CssVariableReferenceValue $37;
late DataElement $38;
late DataListElement $39;
late DetailsElement $40;
late DialogElement $41;
late DivElement $42;
late DListElement $43;
late DomException $44;
late DomImplementation $45;
late DomMatrix $46;
late DomMatrixReadOnly $47;
late DomParser $48;
late DomPoint $49;
late DomPointReadOnly $50;
late DomQuad $51;
late DomRectList $52;
late DomRectReadOnly $53;
late DomStringList $54;
late DomStringMap $55;
late DomTokenList $56;
late EmbedElement $57;
late Entry $58;
late FieldSetElement $59;
late FileEntry $60;
late FormElement $61;
late Geoposition $62;
late HeadElement $63;
late HeadingElement $64;
late HRElement $65;
late HtmlCollection $66;
late HtmlDocument $67;
late HtmlElement $68;
late HtmlFormControlsCollection $69;
late HtmlHtmlElement $70;
late HtmlOptionsCollection $72;
// late HttpRequest/XMLHttpRequest $73;
late HttpRequestEventTarget $74;
late HttpRequestUpload $75;
late IFrameElement $76;
late ImageElement $77;
late InputElement $78;
late LabelElement $79;
late LegendElement $80;
late LIElement $81;
late LinkElement $82;
late MapElement $83;
late MediaElement $84;
late MenuElement $85;
late MetaElement $86;
late MeterElement $87;
late ModElement $96;
late ObjectElement $97;
late OListElement $98;
late OptGroupElement $99;
late OptionElement $100;
late OutputElement $101;
late ParagraphElement $102;
late ParamElement $103;
late PictureElement $104;
late PositionError $105;
late PreElement $106;
late ProgressElement $107;
late QuoteElement $108;
late RtcCertificate $109;
late RtcDataChannel $110;
late RtcDataChannelEvent $111;
late RtcDtmfSender $112;
late RtcDtmfToneChangeEvent $113;
late RtcIceCandidate $114;
late RtcPeerConnection $115;
late RtcPeerConnectionIceEvent $116;
late RtcRtpContributingSource $117;
late RtcRtpReceiver $118;
late RtcRtpSender $119;
late RtcSessionDescription $120;
late RtcStatsReport $121;
late RtcTrackEvent $122;
late ScriptElement $123;
late SelectElement $124;
late SlotElement $125;
late SourceElement $126;
late SpanElement $127;
late SpeechRecognitionError $128;
late StyleElement $129;
late StylePropertyMapReadonly $130;
late TableCaptionElement $131;
late TableColElement $132;
late TableElement $133;
late TableRowElement $134;
late TableSectionElement $135;
late TemplateElement $136;
late TextAreaElement $137;
late TimeElement $138;
late TitleElement $139;
late TrackElement $140;
late UListElement $143;
late UnknownElement $145;
late Url $146;
late UrlSearchParams $147;
late VideoElement $148;
late VttCue $149;
late VttRegion $150;
late XmlDocument $151;
late XmlSerializer $152;
late XsltProcessor $153;
