/**
 * Select class
 * <br><img src="./media/examples/select.png" alt="select demo"/>
 * @class
 * @extends {module:Input}
 */
export default class Select {
    /**
     * @inheritDoc
     * @param {Object} definition - Select definition
     * @return {Select}
     */
    static from(definition: any): Select;
    /**
     * @typedef {Object} SelectOptions
     * @extends TextOptions
     * @extends InputOptions
     * @prop {String} [value=0] - Selected index of the select
     */
    /**
     * @type {SelectOptions}
     */
    static get defaultOptions(): any;
    /**
     * Margin around the text
     * @type {Number}
     */
    static get MARGIN(): number;
    /**
     * Select constructor
     * @param {PositionDefinition} positionDefinition - Any position
     * @param {Array<String>} optionsList - List of options to display
     * @param {InputOptions} [options] - Drawing options
     */
    constructor(positionDefinition: PositionDefinition, optionsList: Array<string>, options?: InputOptions);
    display: Text;
    optionsList: Text[];
    optionsContainer: Rectangle;
    /**
     * @param {Number} value - Index of the selected option
     */
    set value(value: number);
    /**
     * @return {Number}
     */
    get value(): number;
    arrow: Triangle;
    /**
     * Computer button size
     * @return {{width: Number, height: Number}}
     */
    get size(): {
        width: number;
        height: number;
    };
    /**
     * Get this button's width
     * @return {Number}
     */
    get width(): number;
    /**
     * Get this button's height
     * @return {Number}
     */
    get height(): number;
    /**
     * @inheritDoc
     */
    click(): void;
    /**
     * @inheritDoc
     */
    toJSON(): any;
    [selectedKey]: number;
}
import Text from "@pencil.js/text";
import Rectangle from "@pencil.js/rectangle";
import Triangle from "@pencil.js/triangle";
/**
 * @module Select
 */
declare const selectedKey: unique symbol;
export {};
