import { DataList } from "../ui/DataList";
import { TextBox } from "../ui/TextBox";
/** Controls whether localized and/or non-localized key-in strings appear in a KeyinField's auto-completion list.
 * @beta
 */
export declare enum KeyinFieldLocalization {
    /** Include only non-localized key-in strings. */
    NonLocalized = 0,
    /** Include only localized key-in strings. */
    Localized = 1,
    /** Include localized and non-localized strings for each key-in. */
    Both = 2
}
/** Properties controlling how a KeyinField is created.
 * @beta
 */
export interface KeyinFieldProps {
    /** If supplied, the keyin field's elements will be added as children of this parent element. */
    parent?: HTMLElement;
    /** Required, unique ID prefix used to produce unique IDs for child elements. */
    baseId: string;
    /** Default: false. */
    wantButton?: boolean;
    /** Default: false. */
    wantLabel?: boolean;
    /** The maximum number of submitted key-ins to store in the history.
     * If greater than zero, pressing up/down while the KeyinField has focus will move backwards/forwards through the history.
     * Default: zero;
     */
    historyLength?: number;
    /** Controls whether localized and/or non-localized keyin strings appear in the autocompletion list.
     * Note: the KeyinField will still accept either localized or non-localized strings; this option only controls what is displayed in the auto-completion list.
     * Default: non-localized
     */
    localization?: KeyinFieldLocalization;
}
/** A textbox allowing input of key-ins (localized tool names) combined with a drop-down that lists all registered key-ins, filtered by substring match on the current input.
 * Press `enter` or click the Enter button to run the key-in.
 * @beta
 */
export declare class KeyinField {
    /** @alpha */
    readonly autoCompleteList: DataList;
    readonly textBox: TextBox;
    readonly keyins: string[];
    private _historyIndex?;
    private _historyLength;
    private readonly _history;
    private readonly _localization;
    constructor(props: KeyinFieldProps);
    focus(): void;
    loseFocus(): void;
    selectAll(): void;
    private handleKeyPress;
    private handleKeyDown;
    private resetHistoryIndex;
    private pushHistory;
    private submitKeyin;
    private respondToKeyinFocus;
    private findKeyins;
}
//# sourceMappingURL=KeyinField.d.ts.map