import { type IDisposable } from "../disposable"; export interface Padding { top: number; right: number; bottom: number; left: number; } export declare function elem(tagName: K, className?: string): HTMLElementTagNameMap[K]; export declare function clearAllChildren(elem: HTMLElement): void; export declare function removeElement(elem: HTMLElement): void; export declare function removeNode(node: Node): void; export declare function insertAtFirst(parent: HTMLElement, elem: HTMLElement): void; export declare function isContainNode(node: Node, parent: HTMLElement): boolean; export declare class DomBuilder { readonly value: T; static create(tagName: K, className?: string): DomBuilder; to(f: (t: T) => void): DomBuilder; private constructor(); setInnerText(content: string): DomBuilder; mount(parent: HTMLElement | DomBuilder): DomBuilder; on(eventName: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): DomBuilder; } export declare function listenWindow(eventName: K, listener: (this: Window, ev: WindowEventMap[K]) => any): IDisposable; export declare class DivContainer implements IDisposable { readonly container: HTMLDivElement; constructor(clsName?: string); mount(parent: HTMLElement): void; dispose(): void; } export declare class SpanContainer implements IDisposable { readonly container: HTMLSpanElement; constructor(clsName?: string); mount(parent: HTMLElement): void; dispose(): void; } export declare function observeMutation(element: Node, options: MutationObserverInit | undefined, callback: MutationCallback): IDisposable; export declare class ContainerWithCoord extends DivContainer { protected _x: number; protected _y: number; constructor(clsName?: string); get x(): number; set x(v: number); get y(): number; set y(v: number); }