import { Style } from '../system/platform/Props';
import { Dict } from '../types/Dict';
import { $Element } from '../types/interface/async/$Element';
import { Element } from './element';
export type InputElement = HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | HTMLDivElement;
export declare function makeFieldInputEventHandler<E extends InputElement>(component: Element, keyName?: string, processValue?: (element: E, value: string) => any): (event: InputEvent) => void;
export declare class Field<E extends InputElement = any, P extends object = {}, U extends $Element = $Element> extends Element<E, P, U> {
    private _prop_handler;
    constructor($props: any, $system: any, $element: E, opt: {
        valueKey: string;
        defaultStyle?: Style;
        defaultValue?: any;
        processValue?: ($element: E, value: string) => any;
        propHandlers?: Dict<(value: any) => void>;
    });
    onPropChanged(prop: string, current: any): void;
}
