import { VComponent, WithHtml } from '../component/component';
import { InputReactive, MaybeReactiveProps } from '../reactive';
import { AddClassesArgs, EventHandlers } from './create-dom-element';
import { AddStylesArgs } from './styles';
export type HTMLInputElementOptions = Partial>;
export declare const input: (value: InputReactive, options?: HTMLInputElementOptions) => VInputComponent;
export declare class VInputComponent implements VComponent {
private reactiveValue;
private options;
private classes?;
private styles?;
private handlers?;
private _html;
readonly __type = "V_COMPONENT";
get html(): HTMLInputElement;
addClass(newClasses: AddClassesArgs): this;
addStyles(newStyles: AddStylesArgs): this;
on(newEventHandlers: EventHandlers): this;
private _onInputHandler?;
onInput(handler: (newValue: T) => void): this;
constructor(reactiveValue: InputReactive, options?: HTMLInputElementOptions, classes?: AddClassesArgs, styles?: AddStylesArgs | undefined, handlers?: EventHandlers | undefined);
parent: WithHtml;
private subs;
init(parent: WithHtml): void;
private _updateDomOnOptionsChanges;
private _renderOnce;
renderOnce(): HTMLInputElement;
destroy(): void;
}