import { IIndex, IBehaviour } from "../api"; import { Subscription } from "../connection/Subscription"; /** * Configuration for enabling Autocompletion for the text input field. * * @member {HTMLDivElement} dropdownElement is used as container to render the autocompletion dropdown. * Per default the first element with class lto-autocomplete is used. * @member {HTMLButtonElement} invokerElement is clicked when an autocomplete suggestion is clicked. * @member {number} maxNumberOfResults is used to determine the max elements displayed in the autocomplete dropdown. * Default is 5. * @member {IIndex} index is used to store and search for autocompletion elements. */ interface AutocompleteConfig { dropdownElement?: HTMLDivElement; invokerElement?: HTMLButtonElement; maxNumberOfResults?: number; index?: IIndex; } /** * The autocomplete behaviour adds an autocomplete mechanism * for the user input. The possible autocomplete entries * need to be added via add method. */ export declare class AutocompleteBehaviour extends IBehaviour { private readonly index; private readonly autocompleteDropdown; private readonly maxNumberOfResults; constructor(config: AutocompleteConfig, textbox?: HTMLTextAreaElement); add(element: string): void; clear(): void; bind(gateway: Subscription): void; unbind(): void; private onKeydown; } export {};