import { IDropDown } from '../interface/controls/drop-down';
import { IHTMLElement } from '../interface/controls/html-element';
import { HTMLElement } from './html-element';
/**
 *
 *
 * @export
 * @class DropDown
 * @extends {HTMLElement}
 * @implements {IDropDown}
 */
export declare class DropDown extends HTMLElement implements IDropDown {
    /**
     * Creates an instance of DropDown.
     * @param {string} cssLocator
     * @memberof DropDown
     */
    constructor(cssLocator: string);
    /**
     *
     *
     * @protected
     * @param {(keyof IHTMLElement | keyof IDropDown)} methodName
     * @param {Array<any>} [args=[]]
     * @return {*}  {Promise<any>}
     * @memberof DropDown
     */
    protected callIfMethodExists(methodName: keyof IHTMLElement | keyof IDropDown, args?: Array<any>): Promise<any>;
    /**
     *
     * Schedules a command to retrieve the selected option in this element
     * @return {*}  {Promise<string>}
     * @memberof DropDown
     */
    getSelectedOption(): Promise<string>;
    /**
     *
     * Schedules a command to select an option in this element
     * @param {number} index
     * @return {*}  {Promise<void>}
     * @memberof DropDown
     */
    selectByIndex(index: number): Promise<void>;
    /**
     *
     * Schedules a command to select an option in this element
     * @param {string} text
     * @return {*}  {Promise<void>}
     * @memberof DropDown
     */
    selectByText(text: string): Promise<void>;
    /**
     *
     * Schedules a command to select an option in this element
     * @param {string} value
     * @return {*}  {Promise<void>}
     * @memberof DropDown
     */
    selectByValue(value: string): Promise<void>;
}
