import { Style } from '../system/platform/Style';
import { Dict } from '../types/Dict';
import { Component } from './component';
export type Handler = (value: any) => void;
export type PropHandler = Dict<Handler>;
export declare function makeAttrHandler(element: HTMLElement | SVGElement, name: string): Handler;
export declare function elementPropHandler<T extends HTMLElement | SVGElement>(component: Component<T>, element: T, DEFAULT_STYLE: Style): PropHandler;
export declare function htmlPropHandler<T extends HTMLElement>(component: Component<T>, element: T, DEFAULT_STYLE: Style): PropHandler;
export declare function svgPropHandler<P extends Dict<any> = any>(component: Component<SVGElement, P>, element: SVGElement, DEFAULT_STYLE: Style): PropHandler;
export declare function basePropHandler(component: Component, element: HTMLElement | SVGElement, DEFAULT_STYLE: Style): PropHandler;
export declare function stylePropHandler(component: Component<HTMLElement | SVGElement>, element: HTMLElement | SVGElement, DEFAULT_STYLE: Style): PropHandler;
export declare function inputPropHandler(element: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement, VALUE_NAME: string, DEFAULT_VALUE: any, parseValue?: (value: string) => string): PropHandler;
