import { AnchorHTMLAttributes, AreaHTMLAttributes, AudioHTMLAttributes, BaseHTMLAttributes, BlockquoteHTMLAttributes, ButtonHTMLAttributes, CanvasHTMLAttributes, ColgroupHTMLAttributes, ColHTMLAttributes, DataHTMLAttributes, DelHTMLAttributes, DetailsHTMLAttributes, DialogHTMLAttributes, EmbedHTMLAttributes, FieldsetHTMLAttributes, FormHTMLAttributes, HTMLAttributes, HtmlHTMLAttributes, IframeHTMLAttributes, ImgHTMLAttributes, InputHTMLAttributes, InsHTMLAttributes, KeygenHTMLAttributes, LabelHTMLAttributes, LiHTMLAttributes, LinkHTMLAttributes, MapHTMLAttributes, MenuHTMLAttributes, MetaHTMLAttributes, MeterHTMLAttributes, ObjectHTMLAttributes, OlHTMLAttributes, OptgroupHTMLAttributes, OptionHTMLAttributes, OutputHTMLAttributes, ParamHTMLAttributes, ProgressHTMLAttributes, QuoteHTMLAttributes, ScriptHTMLAttributes, SelectHTMLAttributes, SlotHTMLAttributes, SourceHTMLAttributes, StyleHTMLAttributes, SVGAttributes, TableHTMLAttributes, TdHTMLAttributes, TextareaHTMLAttributes, ThHTMLAttributes, TimeHTMLAttributes, TrackHTMLAttributes, VideoHTMLAttributes, WebViewHTMLAttributes } from 'react'; import { StyledComponentWithRef } from './create'; import { SECRET_GLITZ_PROPERTY, ELEMENT_TYPE, ELEMENT_LIKE_TYPE, FORWARD_STYLE_TYPE } from './constants'; import { Styles } from './custom'; export interface StyledType { [SECRET_GLITZ_PROPERTY]: typeof ELEMENT_TYPE | typeof ELEMENT_LIKE_TYPE | typeof FORWARD_STYLE_TYPE; } export interface StyledElement extends StyledType { [SECRET_GLITZ_PROPERTY]: typeof ELEMENT_TYPE; value: string; } export declare function isElementType(type: any): type is StyledElement; export declare function assignPredefined(target: TTarget): TTarget & StyledElementFunctions & StyledElementComponents; export declare type StyledElementProps = { className?: string; }; export declare type StyledFunction = (...styles: Styles[]) => StyledComponentWithRef; export interface StyledElementComponents { A: StyledComponentWithRef, HTMLAnchorElement>; Abbr: StyledComponentWithRef, HTMLElement>; Address: StyledComponentWithRef, HTMLElement>; Area: StyledComponentWithRef, HTMLAreaElement>; Article: StyledComponentWithRef, HTMLElement>; Aside: StyledComponentWithRef, HTMLElement>; Audio: StyledComponentWithRef, HTMLAudioElement>; B: StyledComponentWithRef, HTMLElement>; Base: StyledComponentWithRef, HTMLBaseElement>; Bdi: StyledComponentWithRef, HTMLElement>; Bdo: StyledComponentWithRef, HTMLElement>; Big: StyledComponentWithRef, HTMLElement>; Blockquote: StyledComponentWithRef, HTMLElement>; Body: StyledComponentWithRef, HTMLBodyElement>; Br: StyledComponentWithRef, HTMLBRElement>; Button: StyledComponentWithRef, HTMLButtonElement>; Canvas: StyledComponentWithRef, HTMLCanvasElement>; Caption: StyledComponentWithRef, HTMLElement>; Cite: StyledComponentWithRef, HTMLElement>; Code: StyledComponentWithRef, HTMLElement>; Col: StyledComponentWithRef, HTMLTableColElement>; Colgroup: StyledComponentWithRef, HTMLTableColElement>; Data: StyledComponentWithRef, HTMLDataElement>; Datalist: StyledComponentWithRef, HTMLDataListElement>; Dd: StyledComponentWithRef, HTMLElement>; Del: StyledComponentWithRef, HTMLElement>; Details: StyledComponentWithRef, HTMLElement>; Dfn: StyledComponentWithRef, HTMLElement>; Dialog: StyledComponentWithRef, HTMLDialogElement>; Div: StyledComponentWithRef, HTMLDivElement>; Dl: StyledComponentWithRef, HTMLDListElement>; Dt: StyledComponentWithRef, HTMLElement>; Em: StyledComponentWithRef, HTMLElement>; Embed: StyledComponentWithRef, HTMLEmbedElement>; Fieldset: StyledComponentWithRef, HTMLFieldSetElement>; Figcaption: StyledComponentWithRef, HTMLElement>; Figure: StyledComponentWithRef, HTMLElement>; Footer: StyledComponentWithRef, HTMLElement>; Form: StyledComponentWithRef, HTMLFormElement>; H1: StyledComponentWithRef, HTMLHeadingElement>; H2: StyledComponentWithRef, HTMLHeadingElement>; H3: StyledComponentWithRef, HTMLHeadingElement>; H4: StyledComponentWithRef, HTMLHeadingElement>; H5: StyledComponentWithRef, HTMLHeadingElement>; H6: StyledComponentWithRef, HTMLHeadingElement>; Head: StyledComponentWithRef, HTMLHeadElement>; Header: StyledComponentWithRef, HTMLElement>; Hgroup: StyledComponentWithRef, HTMLElement>; Hr: StyledComponentWithRef, HTMLHRElement>; Html: StyledComponentWithRef, HTMLHtmlElement>; I: StyledComponentWithRef, HTMLElement>; Iframe: StyledComponentWithRef, HTMLIFrameElement>; Img: StyledComponentWithRef, HTMLImageElement>; Input: StyledComponentWithRef, HTMLInputElement>; Ins: StyledComponentWithRef, HTMLModElement>; Kbd: StyledComponentWithRef, HTMLElement>; Keygen: StyledComponentWithRef, HTMLElement>; Label: StyledComponentWithRef, HTMLLabelElement>; Legend: StyledComponentWithRef, HTMLLegendElement>; Li: StyledComponentWithRef, HTMLLIElement>; Link: StyledComponentWithRef, HTMLLinkElement>; Main: StyledComponentWithRef, HTMLElement>; Map: StyledComponentWithRef, HTMLMapElement>; Mark: StyledComponentWithRef, HTMLElement>; Menu: StyledComponentWithRef, HTMLElement>; Menuitem: StyledComponentWithRef, HTMLElement>; Meta: StyledComponentWithRef, HTMLMetaElement>; Meter: StyledComponentWithRef, HTMLElement>; Nav: StyledComponentWithRef, HTMLElement>; Noindex: StyledComponentWithRef, HTMLElement>; Noscript: StyledComponentWithRef, HTMLElement>; Object: StyledComponentWithRef, HTMLObjectElement>; Ol: StyledComponentWithRef, HTMLOListElement>; Optgroup: StyledComponentWithRef, HTMLOptGroupElement>; Option: StyledComponentWithRef, HTMLOptionElement>; Output: StyledComponentWithRef, HTMLElement>; P: StyledComponentWithRef, HTMLParagraphElement>; Param: StyledComponentWithRef, HTMLParamElement>; Picture: StyledComponentWithRef, HTMLElement>; Pre: StyledComponentWithRef, HTMLPreElement>; Progress: StyledComponentWithRef, HTMLProgressElement>; Q: StyledComponentWithRef, HTMLQuoteElement>; Rp: StyledComponentWithRef, HTMLElement>; Rt: StyledComponentWithRef, HTMLElement>; Ruby: StyledComponentWithRef, HTMLElement>; S: StyledComponentWithRef, HTMLElement>; Samp: StyledComponentWithRef, HTMLElement>; Script: StyledComponentWithRef, HTMLScriptElement>; Section: StyledComponentWithRef, HTMLElement>; Select: StyledComponentWithRef, HTMLSelectElement>; Slot: StyledComponentWithRef, HTMLSlotElement>; Small: StyledComponentWithRef, HTMLElement>; Source: StyledComponentWithRef, HTMLSourceElement>; Span: StyledComponentWithRef, HTMLSpanElement>; Strong: StyledComponentWithRef, HTMLElement>; Style: StyledComponentWithRef, HTMLStyleElement>; Sub: StyledComponentWithRef, HTMLElement>; Summary: StyledComponentWithRef, HTMLElement>; Sup: StyledComponentWithRef, HTMLElement>; Table: StyledComponentWithRef, HTMLTableElement>; Tbody: StyledComponentWithRef, HTMLTableSectionElement>; Td: StyledComponentWithRef, HTMLTableDataCellElement>; Template: StyledComponentWithRef, HTMLTemplateElement>; Textarea: StyledComponentWithRef, HTMLTextAreaElement>; Tfoot: StyledComponentWithRef, HTMLTableSectionElement>; Th: StyledComponentWithRef, HTMLTableHeaderCellElement>; Thead: StyledComponentWithRef, HTMLTableSectionElement>; Time: StyledComponentWithRef, HTMLElement>; Title: StyledComponentWithRef, HTMLTitleElement>; Tr: StyledComponentWithRef, HTMLTableRowElement>; Track: StyledComponentWithRef, HTMLTrackElement>; U: StyledComponentWithRef, HTMLElement>; Ul: StyledComponentWithRef, HTMLUListElement>; Var: StyledComponentWithRef, HTMLElement>; Video: StyledComponentWithRef, HTMLVideoElement>; Wbr: StyledComponentWithRef, HTMLElement>; Webview: StyledComponentWithRef, HTMLWebViewElement>; Svg: StyledComponentWithRef, SVGSVGElement>; Animate: StyledComponentWithRef, SVGAnimateElement>; AnimateMotion: StyledComponentWithRef, SVGElement>; AnimateTransform: StyledComponentWithRef, SVGAnimateTransformElement>; Circle: StyledComponentWithRef, SVGCircleElement>; ClipPath: StyledComponentWithRef, SVGClipPathElement>; Defs: StyledComponentWithRef, SVGDefsElement>; Desc: StyledComponentWithRef, SVGDescElement>; Ellipse: StyledComponentWithRef, SVGEllipseElement>; FeBlend: StyledComponentWithRef, SVGFEBlendElement>; FeColorMatrix: StyledComponentWithRef, SVGFEColorMatrixElement>; FeComponentTransfer: StyledComponentWithRef, SVGFEComponentTransferElement>; FeComposite: StyledComponentWithRef, SVGFECompositeElement>; FeConvolveMatrix: StyledComponentWithRef, SVGFEConvolveMatrixElement>; FeDiffuseLighting: StyledComponentWithRef, SVGFEDiffuseLightingElement>; FeDisplacementMap: StyledComponentWithRef, SVGFEDisplacementMapElement>; FeDistantLight: StyledComponentWithRef, SVGFEDistantLightElement>; FeDropShadow: StyledComponentWithRef, SVGFEDropShadowElement>; FeFlood: StyledComponentWithRef, SVGFEFloodElement>; FeFuncA: StyledComponentWithRef, SVGFEFuncAElement>; FeFuncB: StyledComponentWithRef, SVGFEFuncBElement>; FeFuncG: StyledComponentWithRef, SVGFEFuncGElement>; FeFuncR: StyledComponentWithRef, SVGFEFuncRElement>; FeGaussianBlur: StyledComponentWithRef, SVGFEGaussianBlurElement>; FeImage: StyledComponentWithRef, SVGFEImageElement>; FeMerge: StyledComponentWithRef, SVGFEMergeElement>; FeMergeNode: StyledComponentWithRef, SVGFEMergeNodeElement>; FeMorphology: StyledComponentWithRef, SVGFEMorphologyElement>; FeOffset: StyledComponentWithRef, SVGFEOffsetElement>; FePointLight: StyledComponentWithRef, SVGFEPointLightElement>; FeSpecularLighting: StyledComponentWithRef, SVGFESpecularLightingElement>; FeSpotLight: StyledComponentWithRef, SVGFESpotLightElement>; FeTile: StyledComponentWithRef, SVGFETileElement>; FeTurbulence: StyledComponentWithRef, SVGFETurbulenceElement>; Filter: StyledComponentWithRef, SVGFilterElement>; ForeignObject: StyledComponentWithRef, SVGForeignObjectElement>; G: StyledComponentWithRef, SVGGElement>; Image: StyledComponentWithRef, SVGImageElement>; Line: StyledComponentWithRef, SVGLineElement>; LinearGradient: StyledComponentWithRef, SVGLinearGradientElement>; Marker: StyledComponentWithRef, SVGMarkerElement>; Mask: StyledComponentWithRef, SVGMaskElement>; Metadata: StyledComponentWithRef, SVGMetadataElement>; Mpath: StyledComponentWithRef, SVGElement>; Path: StyledComponentWithRef, SVGPathElement>; Pattern: StyledComponentWithRef, SVGPatternElement>; Polygon: StyledComponentWithRef, SVGPolygonElement>; Polyline: StyledComponentWithRef, SVGPolylineElement>; RadialGradient: StyledComponentWithRef, SVGRadialGradientElement>; Rect: StyledComponentWithRef, SVGRectElement>; Stop: StyledComponentWithRef, SVGStopElement>; Switch: StyledComponentWithRef, SVGSwitchElement>; Symbol: StyledComponentWithRef, SVGSymbolElement>; Text: StyledComponentWithRef, SVGTextElement>; TextPath: StyledComponentWithRef, SVGTextPathElement>; Tspan: StyledComponentWithRef, SVGTSpanElement>; Use: StyledComponentWithRef, SVGUseElement>; View: StyledComponentWithRef, SVGViewElement>; } export interface StyledElementFunctions { a: StyledFunction, HTMLAnchorElement>; abbr: StyledFunction, HTMLElement>; address: StyledFunction, HTMLElement>; area: StyledFunction, HTMLAreaElement>; article: StyledFunction, HTMLElement>; aside: StyledFunction, HTMLElement>; audio: StyledFunction, HTMLAudioElement>; b: StyledFunction, HTMLElement>; base: StyledFunction, HTMLBaseElement>; bdi: StyledFunction, HTMLElement>; bdo: StyledFunction, HTMLElement>; big: StyledFunction, HTMLElement>; blockquote: StyledFunction, HTMLElement>; body: StyledFunction, HTMLBodyElement>; br: StyledFunction, HTMLBRElement>; button: StyledFunction, HTMLButtonElement>; canvas: StyledFunction, HTMLCanvasElement>; caption: StyledFunction, HTMLElement>; cite: StyledFunction, HTMLElement>; code: StyledFunction, HTMLElement>; col: StyledFunction, HTMLTableColElement>; colgroup: StyledFunction, HTMLTableColElement>; data: StyledFunction, HTMLDataElement>; datalist: StyledFunction, HTMLDataListElement>; dd: StyledFunction, HTMLElement>; del: StyledFunction, HTMLElement>; details: StyledFunction, HTMLElement>; dfn: StyledFunction, HTMLElement>; dialog: StyledFunction, HTMLDialogElement>; div: StyledFunction, HTMLDivElement>; dl: StyledFunction, HTMLDListElement>; dt: StyledFunction, HTMLElement>; em: StyledFunction, HTMLElement>; embed: StyledFunction, HTMLEmbedElement>; fieldset: StyledFunction, HTMLFieldSetElement>; figcaption: StyledFunction, HTMLElement>; figure: StyledFunction, HTMLElement>; footer: StyledFunction, HTMLElement>; form: StyledFunction, HTMLFormElement>; h1: StyledFunction, HTMLHeadingElement>; h2: StyledFunction, HTMLHeadingElement>; h3: StyledFunction, HTMLHeadingElement>; h4: StyledFunction, HTMLHeadingElement>; h5: StyledFunction, HTMLHeadingElement>; h6: StyledFunction, HTMLHeadingElement>; head: StyledFunction, HTMLHeadElement>; header: StyledFunction, HTMLElement>; hgroup: StyledFunction, HTMLElement>; hr: StyledFunction, HTMLHRElement>; html: StyledFunction, HTMLHtmlElement>; i: StyledFunction, HTMLElement>; iframe: StyledFunction, HTMLIFrameElement>; img: StyledFunction, HTMLImageElement>; input: StyledFunction, HTMLInputElement>; ins: StyledFunction, HTMLModElement>; kbd: StyledFunction, HTMLElement>; keygen: StyledFunction, HTMLElement>; label: StyledFunction, HTMLLabelElement>; legend: StyledFunction, HTMLLegendElement>; li: StyledFunction, HTMLLIElement>; link: StyledFunction, HTMLLinkElement>; main: StyledFunction, HTMLElement>; map: StyledFunction, HTMLMapElement>; mark: StyledFunction, HTMLElement>; menu: StyledFunction, HTMLElement>; menuitem: StyledFunction, HTMLElement>; meta: StyledFunction, HTMLMetaElement>; meter: StyledFunction, HTMLElement>; nav: StyledFunction, HTMLElement>; noindex: StyledFunction, HTMLElement>; noscript: StyledFunction, HTMLElement>; object: StyledFunction, HTMLObjectElement>; ol: StyledFunction, HTMLOListElement>; optgroup: StyledFunction, HTMLOptGroupElement>; option: StyledFunction, HTMLOptionElement>; output: StyledFunction, HTMLElement>; p: StyledFunction, HTMLParagraphElement>; param: StyledFunction, HTMLParamElement>; picture: StyledFunction, HTMLElement>; pre: StyledFunction, HTMLPreElement>; progress: StyledFunction, HTMLProgressElement>; q: StyledFunction, HTMLQuoteElement>; rp: StyledFunction, HTMLElement>; rt: StyledFunction, HTMLElement>; ruby: StyledFunction, HTMLElement>; s: StyledFunction, HTMLElement>; samp: StyledFunction, HTMLElement>; script: StyledFunction, HTMLScriptElement>; section: StyledFunction, HTMLElement>; select: StyledFunction, HTMLSelectElement>; slot: StyledFunction, HTMLSlotElement>; small: StyledFunction, HTMLElement>; source: StyledFunction, HTMLSourceElement>; span: StyledFunction, HTMLSpanElement>; strong: StyledFunction, HTMLElement>; style: StyledFunction, HTMLStyleElement>; sub: StyledFunction, HTMLElement>; summary: StyledFunction, HTMLElement>; sup: StyledFunction, HTMLElement>; table: StyledFunction, HTMLTableElement>; tbody: StyledFunction, HTMLTableSectionElement>; td: StyledFunction, HTMLTableDataCellElement>; template: StyledFunction, HTMLTemplateElement>; textarea: StyledFunction, HTMLTextAreaElement>; tfoot: StyledFunction, HTMLTableSectionElement>; th: StyledFunction, HTMLTableHeaderCellElement>; thead: StyledFunction, HTMLTableSectionElement>; time: StyledFunction, HTMLElement>; title: StyledFunction, HTMLTitleElement>; tr: StyledFunction, HTMLTableRowElement>; track: StyledFunction, HTMLTrackElement>; u: StyledFunction, HTMLElement>; ul: StyledFunction, HTMLUListElement>; var: StyledFunction, HTMLElement>; video: StyledFunction, HTMLVideoElement>; wbr: StyledFunction, HTMLElement>; webview: StyledFunction, HTMLWebViewElement>; svg: StyledFunction, SVGSVGElement>; animate: StyledFunction, SVGAnimateElement>; animateMotion: StyledFunction, SVGElement>; animateTransform: StyledFunction, SVGAnimateTransformElement>; circle: StyledFunction, SVGCircleElement>; clipPath: StyledFunction, SVGClipPathElement>; defs: StyledFunction, SVGDefsElement>; desc: StyledFunction, SVGDescElement>; ellipse: StyledFunction, SVGEllipseElement>; feBlend: StyledFunction, SVGFEBlendElement>; feColorMatrix: StyledFunction, SVGFEColorMatrixElement>; feComponentTransfer: StyledFunction, SVGFEComponentTransferElement>; feComposite: StyledFunction, SVGFECompositeElement>; feConvolveMatrix: StyledFunction, SVGFEConvolveMatrixElement>; feDiffuseLighting: StyledFunction, SVGFEDiffuseLightingElement>; feDisplacementMap: StyledFunction, SVGFEDisplacementMapElement>; feDistantLight: StyledFunction, SVGFEDistantLightElement>; feDropShadow: StyledFunction, SVGFEDropShadowElement>; feFlood: StyledFunction, SVGFEFloodElement>; feFuncA: StyledFunction, SVGFEFuncAElement>; feFuncB: StyledFunction, SVGFEFuncBElement>; feFuncG: StyledFunction, SVGFEFuncGElement>; feFuncR: StyledFunction, SVGFEFuncRElement>; feGaussianBlur: StyledFunction, SVGFEGaussianBlurElement>; feImage: StyledFunction, SVGFEImageElement>; feMerge: StyledFunction, SVGFEMergeElement>; feMergeNode: StyledFunction, SVGFEMergeNodeElement>; feMorphology: StyledFunction, SVGFEMorphologyElement>; feOffset: StyledFunction, SVGFEOffsetElement>; fePointLight: StyledFunction, SVGFEPointLightElement>; feSpecularLighting: StyledFunction, SVGFESpecularLightingElement>; feSpotLight: StyledFunction, SVGFESpotLightElement>; feTile: StyledFunction, SVGFETileElement>; feTurbulence: StyledFunction, SVGFETurbulenceElement>; filter: StyledFunction, SVGFilterElement>; foreignObject: StyledFunction, SVGForeignObjectElement>; g: StyledFunction, SVGGElement>; image: StyledFunction, SVGImageElement>; line: StyledFunction, SVGLineElement>; linearGradient: StyledFunction, SVGLinearGradientElement>; marker: StyledFunction, SVGMarkerElement>; mask: StyledFunction, SVGMaskElement>; metadata: StyledFunction, SVGMetadataElement>; mpath: StyledFunction, SVGElement>; path: StyledFunction, SVGPathElement>; pattern: StyledFunction, SVGPatternElement>; polygon: StyledFunction, SVGPolygonElement>; polyline: StyledFunction, SVGPolylineElement>; radialGradient: StyledFunction, SVGRadialGradientElement>; rect: StyledFunction, SVGRectElement>; stop: StyledFunction, SVGStopElement>; switch: StyledFunction, SVGSwitchElement>; symbol: StyledFunction, SVGSymbolElement>; text: StyledFunction, SVGTextElement>; textPath: StyledFunction, SVGTextPathElement>; tspan: StyledFunction, SVGTSpanElement>; use: StyledFunction, SVGUseElement>; view: StyledFunction, SVGViewElement>; }