/**
 * @module Input
 */
/**
 * Abstract Input class
 * @abstract
 * @class
 * @extends {module:Component}
 */
export default class Input {
    /**
     * @inheritDoc
     * @param {Object} definition - Input definition
     * @return {Input}
     */
    static from(definition: any): Input;
    /**
     * @typedef {Object} InputOptions
     * @extends ComponentOptions
     * @prop {*} [value=null] - Initial value of the input
     * @prop {String} [foreground="#444"] - Color of the filling
     * @prop {String} [fill="#f6f6f6"] - Color of the background
     * @prop {String} [border="#aaa"] - Color of the border
     * @prop {String} [hover="#d0d0d0"] - Color of the background when hovered
     * @prop {String} [cursor=Component.cursors.pointer] - Cursor on hover
     */
    /**
     * @type {InputOptions}
     */
    static get defaultOptions(): any;
    /**
     * @typedef {Object} InputEvents
     * @prop {String} change - Input value has changed
     */
    /**
     * @type {InputEvents}
     */
    static get events(): {
        /**
         * - Input value has changed
         */
        change: string;
    };
    /**
     * Input constructor
     * @param {PositionDefinition} positionDefinition - Any position
     * @param {Component} base - Base shape for the background
     * @param {InputOptions} [options] - Specific options
     */
    constructor(positionDefinition: PositionDefinition, base: Component, options?: any);
    base: Component;
    /**
     * Set the value of the input
     * @param {*} value - Any value
     */
    set value(value: any);
    /**
     * Return the value of the input
     */
    get value(): any;
    /**
     * @inheritDoc
     */
    trace(path: any): any;
    /**
     * @inheritDoc
     */
    getOrigin(): any;
    /**
     * Action to execute on click
     */
    click(): void;
    /**
     * @inheritDoc
     */
    toJSON(): any;
}
import Component from "@pencil.js/component";
