import { BBox } from "./util/bbox";
import type { Size, Box, Extents, PlainObject } from "./types";
import type { CSSStyles, CSSStyleSheetDecl } from "./css";
export type Optional<T> = {
    [P in keyof T]?: T[P] | null | undefined;
};
export type HTMLElementName = keyof HTMLElementTagNameMap;
export type CSSClass = string;
export type ElementOurAttrs = {
    class?: CSSClass | (CSSClass | null | undefined)[];
    style?: CSSStyles | string;
    data?: PlainObject<string | null | undefined>;
};
export type ElementCommonAttrs = {
    id: Element["id"];
    title: HTMLElement["title"];
    tabIndex: HTMLOrSVGElement["tabIndex"];
    role: ARIARole;
    "aria-hidden": "true" | "false";
};
export type HTMLAttrs<_T extends HTMLElementName, ElementSpecificAttrs> = ElementOurAttrs & Optional<ElementCommonAttrs> & Optional<ElementSpecificAttrs>;
export type HTMLItem = string | Node | NodeList | HTMLCollection | null | undefined;
export type HTMLChild = HTMLItem | HTMLItem[];
export declare function create_element<T extends keyof HTMLElementTagNameMap>(tag: T, attrs: HTMLAttrs<T, object> | null, ...children: HTMLChild[]): HTMLElementTagNameMap[T];
export type AAttrs = {
    href: HTMLAnchorElement["href"];
    target: HTMLAnchorElement["target"];
};
export type AbbrAttrs = object;
export type AddressAttrs = object;
export type AreaAttrs = object;
export type ArticleAttrs = object;
export type AsideAttrs = object;
export type AudioAttrs = object;
export type BAttrs = object;
export type BaseAttrs = object;
export type BdiAttrs = object;
export type BdoAttrs = object;
export type BlockQuoteAttrs = object;
export type BodyAttrs = object;
export type BrAttrs = object;
export type ButtonAttrs = {
    type: "button";
    disabled: HTMLButtonElement["disabled"];
};
export type CanvasAttrs = {
    width: HTMLCanvasElement["width"];
    height: HTMLCanvasElement["height"];
};
export type CaptionAttrs = object;
export type CiteAttrs = object;
export type CodeAttrs = object;
export type ColAttrs = object;
export type ColGroupAttrs = object;
export type DataAttrs = object;
export type DataListAttrs = object;
export type DdAttrs = object;
export type DelAttrs = object;
export type DetailsAttrs = object;
export type DfnAttrs = object;
export type DialogAttrs = object;
export type DivAttrs = object;
export type DlAttrs = object;
export type DtAttrs = object;
export type EmAttrs = object;
export type EmbedAttrs = object;
export type FieldSetAttrs = object;
export type FigCaptionAttrs = object;
export type FigureAttrs = object;
export type FooterAttrs = object;
export type FormAttrs = object;
export type H1Attrs = object;
export type H2Attrs = object;
export type H3Attrs = object;
export type H4Attrs = object;
export type H5Attrs = object;
export type H6Attrs = object;
export type HeadAttrs = object;
export type HeaderAttrs = object;
export type HGroupAttrs = object;
export type HrAttrs = object;
export type HtmlAttrs = object;
export type IAttrs = object;
export type IFrameAttrs = object;
export type ImgAttrs = object;
export type InputAttrs = {
    type: "text" | "checkbox" | "radio" | "file" | "color";
    name: HTMLInputElement["name"];
    multiple: HTMLInputElement["multiple"];
    disabled: HTMLInputElement["disabled"];
    checked: HTMLInputElement["checked"];
    placeholder: HTMLInputElement["placeholder"];
    accept: HTMLInputElement["accept"];
    value: HTMLInputElement["value"];
    readonly: HTMLInputElement["readOnly"];
    webkitdirectory: HTMLInputElement["webkitdirectory"];
};
export type InsAttrs = object;
export type KbdAttrs = object;
export type LabelAttrs = {
    for: HTMLLabelElement["htmlFor"];
};
export type LegendAttrs = object;
export type LiAttrs = object;
export type LinkAttrs = {
    rel: HTMLLinkElement["rel"];
    href: HTMLLinkElement["href"];
    disabled: HTMLLinkElement["disabled"];
};
export type MainAttrs = object;
export type MapAttrs = object;
export type MarkAttrs = object;
export type MenuAttrs = object;
export type MetaAttrs = object;
export type MeterAttrs = object;
export type NavAttrs = object;
export type NoScriptAttrs = object;
export type ObjectAttrs = object;
export type OlAttrs = object;
export type OptGroupAttrs = {
    disabled: HTMLOptGroupElement["disabled"];
    label: HTMLOptGroupElement["label"];
};
export type OptionAttrs = {
    disabled: HTMLOptionElement["disabled"];
    value: HTMLOptionElement["value"];
};
export type OutputAttrs = object;
export type PAttrs = object;
export type PictureAttrs = object;
export type PreAttrs = object;
export type ProgressAttrs = object;
export type QAttrs = object;
export type RpAttrs = object;
export type RtAttrs = object;
export type RubyAttrs = object;
export type SAttrs = object;
export type SAmpAttrs = object;
export type ScriptAttrs = object;
export type SearchAttrs = object;
export type SectionAttrs = object;
export type SelectAttrs = {
    name: HTMLSelectElement["name"];
    disabled: HTMLSelectElement["disabled"];
    multiple: HTMLSelectElement["multiple"];
};
export type SlotAttrs = object;
export type SmallAttrs = object;
export type SourceAttrs = object;
export type SpanAttrs = object;
export type StrongAttrs = object;
export type StyleAttrs = object;
export type SubAttrs = object;
export type SummaryAttrs = object;
export type SupAttrs = object;
export type TableAttrs = object;
export type TBodyAttrs = object;
export type TdAttrs = object;
export type TemplateAttrs = object;
export type TextAreaAttrs = object;
export type TFootAttrs = object;
export type ThAttrs = object;
export type THeadAttrs = object;
export type TimeAttrs = object;
export type TitleAttrs = object;
export type TrAttrs = object;
export type TrackAttrs = object;
export type UAttrs = object;
export type UlAttrs = object;
export type VideoAttrs = object;
export type WbrAttrs = object;
export declare const a: (attrs?: HTMLChild | HTMLAttrs<"a", AAttrs>, ...children: HTMLChild[]) => HTMLAnchorElement;
export declare const abbr: (attrs?: HTMLChild | HTMLAttrs<"abbr", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const address: (attrs?: HTMLChild | HTMLAttrs<"address", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const area: (attrs?: HTMLChild | HTMLAttrs<"area", object>, ...children: HTMLChild[]) => HTMLAreaElement;
export declare const article: (attrs?: HTMLChild | HTMLAttrs<"article", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const aside: (attrs?: HTMLChild | HTMLAttrs<"aside", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const audio: (attrs?: HTMLChild | HTMLAttrs<"audio", object>, ...children: HTMLChild[]) => HTMLAudioElement;
export declare const b: (attrs?: HTMLChild | HTMLAttrs<"b", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const base: (attrs?: HTMLChild | HTMLAttrs<"base", object>, ...children: HTMLChild[]) => HTMLBaseElement;
export declare const bdi: (attrs?: HTMLChild | HTMLAttrs<"bdi", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const bdo: (attrs?: HTMLChild | HTMLAttrs<"bdo", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const blockquote: (attrs?: HTMLChild | HTMLAttrs<"blockquote", object>, ...children: HTMLChild[]) => HTMLQuoteElement;
export declare const body: (attrs?: HTMLChild | HTMLAttrs<"body", object>, ...children: HTMLChild[]) => HTMLBodyElement;
export declare const br: (attrs?: HTMLChild | HTMLAttrs<"br", object>, ...children: HTMLChild[]) => HTMLBRElement;
export declare const button: (attrs?: HTMLChild | HTMLAttrs<"button", ButtonAttrs>, ...children: HTMLChild[]) => HTMLButtonElement;
export declare const canvas: (attrs?: HTMLChild | HTMLAttrs<"canvas", CanvasAttrs>, ...children: HTMLChild[]) => HTMLCanvasElement;
export declare const caption: (attrs?: HTMLChild | HTMLAttrs<"caption", object>, ...children: HTMLChild[]) => HTMLTableCaptionElement;
export declare const cite: (attrs?: HTMLChild | HTMLAttrs<"cite", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const code: (attrs?: HTMLChild | HTMLAttrs<"code", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const col: (attrs?: HTMLChild | HTMLAttrs<"col", object>, ...children: HTMLChild[]) => HTMLTableColElement;
export declare const colgroup: (attrs?: HTMLChild | HTMLAttrs<"colgroup", object>, ...children: HTMLChild[]) => HTMLTableColElement;
export declare const data: (attrs?: HTMLChild | HTMLAttrs<"data", object>, ...children: HTMLChild[]) => HTMLDataElement;
export declare const datalist: (attrs?: HTMLChild | HTMLAttrs<"datalist", object>, ...children: HTMLChild[]) => HTMLDataListElement;
export declare const dd: (attrs?: HTMLChild | HTMLAttrs<"dd", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const del: (attrs?: HTMLChild | HTMLAttrs<"del", object>, ...children: HTMLChild[]) => HTMLModElement;
export declare const details: (attrs?: HTMLChild | HTMLAttrs<"details", object>, ...children: HTMLChild[]) => HTMLDetailsElement;
export declare const dfn: (attrs?: HTMLChild | HTMLAttrs<"dfn", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const dialog: (attrs?: HTMLChild | HTMLAttrs<"dialog", object>, ...children: HTMLChild[]) => HTMLDialogElement;
export declare const div: (attrs?: HTMLChild | HTMLAttrs<"div", object>, ...children: HTMLChild[]) => HTMLDivElement;
export declare const dl: (attrs?: HTMLChild | HTMLAttrs<"dl", object>, ...children: HTMLChild[]) => HTMLDListElement;
export declare const dt: (attrs?: HTMLChild | HTMLAttrs<"dt", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const em: (attrs?: HTMLChild | HTMLAttrs<"em", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const embed: (attrs?: HTMLChild | HTMLAttrs<"embed", object>, ...children: HTMLChild[]) => HTMLEmbedElement;
export declare const fieldset: (attrs?: HTMLChild | HTMLAttrs<"fieldset", object>, ...children: HTMLChild[]) => HTMLFieldSetElement;
export declare const figcaption: (attrs?: HTMLChild | HTMLAttrs<"figcaption", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const figure: (attrs?: HTMLChild | HTMLAttrs<"figure", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const footer: (attrs?: HTMLChild | HTMLAttrs<"footer", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const form: (attrs?: HTMLChild | HTMLAttrs<"form", object>, ...children: HTMLChild[]) => HTMLFormElement;
export declare const h1: (attrs?: HTMLChild | HTMLAttrs<"h1", object>, ...children: HTMLChild[]) => HTMLHeadingElement;
export declare const h2: (attrs?: HTMLChild | HTMLAttrs<"h2", object>, ...children: HTMLChild[]) => HTMLHeadingElement;
export declare const h3: (attrs?: HTMLChild | HTMLAttrs<"h3", object>, ...children: HTMLChild[]) => HTMLHeadingElement;
export declare const h4: (attrs?: HTMLChild | HTMLAttrs<"h4", object>, ...children: HTMLChild[]) => HTMLHeadingElement;
export declare const h5: (attrs?: HTMLChild | HTMLAttrs<"h5", object>, ...children: HTMLChild[]) => HTMLHeadingElement;
export declare const h6: (attrs?: HTMLChild | HTMLAttrs<"h6", object>, ...children: HTMLChild[]) => HTMLHeadingElement;
export declare const head: (attrs?: HTMLChild | HTMLAttrs<"head", object>, ...children: HTMLChild[]) => HTMLHeadElement;
export declare const header: (attrs?: HTMLChild | HTMLAttrs<"header", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const hgroup: (attrs?: HTMLChild | HTMLAttrs<"hgroup", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const hr: (attrs?: HTMLChild | HTMLAttrs<"hr", object>, ...children: HTMLChild[]) => HTMLHRElement;
export declare const html: (attrs?: HTMLChild | HTMLAttrs<"html", object>, ...children: HTMLChild[]) => HTMLHtmlElement;
export declare const i: (attrs?: HTMLChild | HTMLAttrs<"i", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const iframe: (attrs?: HTMLChild | HTMLAttrs<"iframe", object>, ...children: HTMLChild[]) => HTMLIFrameElement;
export declare const img: (attrs?: HTMLChild | HTMLAttrs<"img", object>, ...children: HTMLChild[]) => HTMLImageElement;
export declare const input: (attrs?: HTMLChild | HTMLAttrs<"input", InputAttrs>, ...children: HTMLChild[]) => HTMLInputElement;
export declare const ins: (attrs?: HTMLChild | HTMLAttrs<"ins", object>, ...children: HTMLChild[]) => HTMLModElement;
export declare const kbd: (attrs?: HTMLChild | HTMLAttrs<"kbd", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const label: (attrs?: HTMLChild | HTMLAttrs<"label", LabelAttrs>, ...children: HTMLChild[]) => HTMLLabelElement;
export declare const legend: (attrs?: HTMLChild | HTMLAttrs<"legend", object>, ...children: HTMLChild[]) => HTMLLegendElement;
export declare const li: (attrs?: HTMLChild | HTMLAttrs<"li", object>, ...children: HTMLChild[]) => HTMLLIElement;
export declare const link: (attrs?: HTMLChild | HTMLAttrs<"link", LinkAttrs>, ...children: HTMLChild[]) => HTMLLinkElement;
export declare const main: (attrs?: HTMLChild | HTMLAttrs<"main", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const map: (attrs?: HTMLChild | HTMLAttrs<"map", object>, ...children: HTMLChild[]) => HTMLMapElement;
export declare const mark: (attrs?: HTMLChild | HTMLAttrs<"mark", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const menu: (attrs?: HTMLChild | HTMLAttrs<"menu", object>, ...children: HTMLChild[]) => HTMLMenuElement;
export declare const meta: (attrs?: HTMLChild | HTMLAttrs<"meta", object>, ...children: HTMLChild[]) => HTMLMetaElement;
export declare const meter: (attrs?: HTMLChild | HTMLAttrs<"meter", object>, ...children: HTMLChild[]) => HTMLMeterElement;
export declare const nav: (attrs?: HTMLChild | HTMLAttrs<"nav", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const noscript: (attrs?: HTMLChild | HTMLAttrs<"noscript", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const object: (attrs?: HTMLChild | HTMLAttrs<"object", object>, ...children: HTMLChild[]) => HTMLObjectElement;
export declare const ol: (attrs?: HTMLChild | HTMLAttrs<"ol", object>, ...children: HTMLChild[]) => HTMLOListElement;
export declare const optgroup: (attrs?: HTMLChild | HTMLAttrs<"optgroup", OptGroupAttrs>, ...children: HTMLChild[]) => HTMLOptGroupElement;
export declare const option: (attrs?: HTMLChild | HTMLAttrs<"option", OptionAttrs>, ...children: HTMLChild[]) => HTMLOptionElement;
export declare const output: (attrs?: HTMLChild | HTMLAttrs<"output", object>, ...children: HTMLChild[]) => HTMLOutputElement;
export declare const p: (attrs?: HTMLChild | HTMLAttrs<"p", object>, ...children: HTMLChild[]) => HTMLParagraphElement;
export declare const picture: (attrs?: HTMLChild | HTMLAttrs<"picture", object>, ...children: HTMLChild[]) => HTMLPictureElement;
export declare const pre: (attrs?: HTMLChild | HTMLAttrs<"pre", object>, ...children: HTMLChild[]) => HTMLPreElement;
export declare const progress: (attrs?: HTMLChild | HTMLAttrs<"progress", object>, ...children: HTMLChild[]) => HTMLProgressElement;
export declare const q: (attrs?: HTMLChild | HTMLAttrs<"q", object>, ...children: HTMLChild[]) => HTMLQuoteElement;
export declare const rp: (attrs?: HTMLChild | HTMLAttrs<"rp", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const rt: (attrs?: HTMLChild | HTMLAttrs<"rt", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const ruby: (attrs?: HTMLChild | HTMLAttrs<"ruby", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const s: (attrs?: HTMLChild | HTMLAttrs<"s", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const samp: (attrs?: HTMLChild | HTMLAttrs<"samp", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const script: (attrs?: HTMLChild | HTMLAttrs<"script", object>, ...children: HTMLChild[]) => HTMLScriptElement;
export declare const search: (attrs?: HTMLChild | HTMLAttrs<"search", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const section: (attrs?: HTMLChild | HTMLAttrs<"section", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const select: (attrs?: HTMLChild | HTMLAttrs<"select", SelectAttrs>, ...children: HTMLChild[]) => HTMLSelectElement;
export declare const slot: (attrs?: HTMLChild | HTMLAttrs<"slot", object>, ...children: HTMLChild[]) => HTMLSlotElement;
export declare const small: (attrs?: HTMLChild | HTMLAttrs<"small", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const source: (attrs?: HTMLChild | HTMLAttrs<"source", object>, ...children: HTMLChild[]) => HTMLSourceElement;
export declare const span: (attrs?: HTMLChild | HTMLAttrs<"span", object>, ...children: HTMLChild[]) => HTMLSpanElement;
export declare const strong: (attrs?: HTMLChild | HTMLAttrs<"strong", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const style: (attrs?: HTMLChild | HTMLAttrs<"style", object>, ...children: HTMLChild[]) => HTMLStyleElement;
export declare const sub: (attrs?: HTMLChild | HTMLAttrs<"sub", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const summary: (attrs?: HTMLChild | HTMLAttrs<"summary", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const sup: (attrs?: HTMLChild | HTMLAttrs<"sup", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const table: (attrs?: HTMLChild | HTMLAttrs<"table", object>, ...children: HTMLChild[]) => HTMLTableElement;
export declare const tbody: (attrs?: HTMLChild | HTMLAttrs<"tbody", object>, ...children: HTMLChild[]) => HTMLTableSectionElement;
export declare const td: (attrs?: HTMLChild | HTMLAttrs<"td", object>, ...children: HTMLChild[]) => HTMLTableCellElement;
export declare const template: (attrs?: HTMLChild | HTMLAttrs<"template", object>, ...children: HTMLChild[]) => HTMLTemplateElement;
export declare const textarea: (attrs?: HTMLChild | HTMLAttrs<"textarea", object>, ...children: HTMLChild[]) => HTMLTextAreaElement;
export declare const tfoot: (attrs?: HTMLChild | HTMLAttrs<"tfoot", object>, ...children: HTMLChild[]) => HTMLTableSectionElement;
export declare const th: (attrs?: HTMLChild | HTMLAttrs<"th", object>, ...children: HTMLChild[]) => HTMLTableCellElement;
export declare const thead: (attrs?: HTMLChild | HTMLAttrs<"thead", object>, ...children: HTMLChild[]) => HTMLTableSectionElement;
export declare const time: (attrs?: HTMLChild | HTMLAttrs<"time", object>, ...children: HTMLChild[]) => HTMLTimeElement;
export declare const title: (attrs?: HTMLChild | HTMLAttrs<"title", object>, ...children: HTMLChild[]) => HTMLTitleElement;
export declare const tr: (attrs?: HTMLChild | HTMLAttrs<"tr", object>, ...children: HTMLChild[]) => HTMLTableRowElement;
export declare const track: (attrs?: HTMLChild | HTMLAttrs<"track", object>, ...children: HTMLChild[]) => HTMLTrackElement;
export declare const u: (attrs?: HTMLChild | HTMLAttrs<"u", object>, ...children: HTMLChild[]) => HTMLElement;
export declare const ul: (attrs?: HTMLChild | HTMLAttrs<"ul", object>, ...children: HTMLChild[]) => HTMLUListElement;
export declare const video: (attrs?: HTMLChild | HTMLAttrs<"video", object>, ...children: HTMLChild[]) => HTMLVideoElement;
export declare const wbr: (attrs?: HTMLChild | HTMLAttrs<"wbr", object>, ...children: HTMLChild[]) => HTMLElement;
export type SVGAttrs = {
    [key: string]: string | false | null | undefined;
};
export declare function createSVGElement<T extends keyof SVGElementTagNameMap>(tag: T, attrs?: SVGAttrs | null, ...children: HTMLChild[]): SVGElementTagNameMap[T];
export declare function text(str: string): Text;
export declare function nbsp(): Text;
export declare function prepend(element: Node, ...nodes: Node[]): void;
export declare function empty(node: Node, attrs?: boolean): void;
export declare function contains(element: Element, child: Node): boolean;
export declare function display(element: HTMLElement, display?: boolean): void;
export declare function undisplay(element: HTMLElement): void;
export declare function show(element: HTMLElement): void;
export declare function hide(element: HTMLElement): void;
export declare function offset_bbox(element: Element): BBox;
export declare function parent(el: HTMLElement, selector: string): HTMLElement | null;
export type ElementExtents = {
    border: Extents;
    margin: Extents;
    padding: Extents;
};
export declare function extents(el: HTMLElement): ElementExtents;
export declare function size(el: HTMLElement): Size;
export declare function scroll_size(el: HTMLElement): Size;
export declare function outer_size(el: HTMLElement): Size;
export declare function content_size(el: HTMLElement): Size;
export declare function bounding_box(el: Element): BBox;
export declare function box_size(el: Element): Size;
export declare function position(el: HTMLElement, box: Box, margin?: Extents): void;
export declare class ClassList {
    private readonly class_list;
    constructor(class_list: DOMTokenList);
    get values(): string[];
    has(cls: string): boolean;
    add(...classes: string[]): this;
    remove(...classes: string[] | string[][]): this;
    clear(): this;
    toggle(cls: string, activate?: boolean): boolean;
}
export declare function classes(el: HTMLElement): ClassList;
export declare function toggle_attribute(el: HTMLElement, attr: string, state?: boolean): void;
type WhitespaceKeys = "Tab" | "Enter" | " ";
type UIKeys = "Escape";
type NavigationKeys = "Home" | "End" | "PageUp" | "PageDown" | "ArrowLeft" | "ArrowRight" | "ArrowUp" | "ArrowDown";
type EditingKeys = "Backspace" | "Delete";
export type Keys = WhitespaceKeys | UIKeys | NavigationKeys | EditingKeys;
export declare enum MouseButton {
    None = 0,
    Primary = 1,
    Secondary = 2,
    Auxiliary = 4,
    Left = 1,
    Right = 2,
    Middle = 4
}
export declare abstract class StyleSheet {
    protected readonly el: HTMLStyleElement | HTMLLinkElement;
    install(el: HTMLElement | ShadowRoot): void;
    uninstall(): void;
}
export declare class InlineStyleSheet extends StyleSheet {
    readonly persistent: boolean;
    protected readonly el: HTMLStyleElement;
    constructor(css?: string | CSSStyleSheetDecl, id?: string, persistent?: boolean);
    get css(): string;
    protected _update(css: string): void;
    clear(): void;
    private _to_css;
    replace(css: string, styles?: CSSStyles): void;
    prepend(css: string, styles?: CSSStyles): void;
    append(css: string, styles?: CSSStyles): void;
    remove(): void;
}
export declare class GlobalInlineStyleSheet extends InlineStyleSheet {
    install(): void;
}
export declare class ImportedStyleSheet extends StyleSheet {
    protected readonly el: HTMLLinkElement;
    constructor(url: string);
    replace(url: string): void;
    remove(): void;
}
export declare class GlobalImportedStyleSheet extends ImportedStyleSheet {
    install(): void;
}
export type StyleSheetLike = StyleSheet | string;
export declare function dom_ready(): Promise<void>;
export declare function px(value: number | string): string;
export declare const supports_adopted_stylesheets: boolean;
export declare function has_focus(el: Element): boolean;
export type ARIARole = "toolbar" | "tooltip" | "feed" | "math" | "presentation" | "none" | "note" | "application" | "article" | "cell" | "columnheader" | "definition" | "directory" | "document" | "figure" | "group" | "heading" | "img" | "list" | "listitem" | "meter" | "row" | "rowgroup" | "rowheader" | "separator" | "table" | "term" | "associationlist" | "associationlistitemkey" | "associationlistitemvalue" | "blockquote" | "caption" | "code" | "deletion" | "emphasis" | "insertion" | "paragraph" | "strong" | "subscript" | "superscript" | "time" | "button" | "checkbox" | "gridcell" | "link" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "option" | "progressbar" | "radio" | "scrollbar" | "searchbox" | "separator" | "slider" | "spinbutton" | "switch" | "tab" | "tabpanel" | "textbox" | "treeitem" | "combobox" | "menu" | "menubar" | "tablist" | "tree" | "treegrid" | "banner" | "complementary" | "contentinfo" | "form" | "main" | "navigation" | "region" | "search" | "alert" | "log" | "marquee" | "status" | "timer" | "alertdialog" | "dialog";
export {};
//# sourceMappingURL=dom.d.ts.map