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 {};
}