import { BaseElement } from "../element.js"; export declare function attributes(element: BaseElement, spec: A): Attributes.SoftenSpec; export declare namespace Attributes { type HardValue = (typeof String | typeof Number | typeof Boolean); type SoftenValue = (H extends typeof String ? string | undefined : H extends typeof Number ? number | undefined : H extends typeof Boolean ? boolean : never); export type Spec = { [key: string]: HardValue; }; export type SoftenSpec = { [P in keyof A]: SoftenValue; }; export const proxy: (element: HTMLElement, spec: A) => SoftenSpec; export function on_change(element: HTMLElement, handle_change: () => void): () => void; export {}; }