import { PropertyValues } from 'lit';
import { PktElement } from '../../base-elements/element';
import { IPktComboboxOption } from '../../shared-types/combobox';
declare global {
    interface HTMLElementTagNameMap {
        'pkt-listbox': PktListbox;
    }
}
export interface IPktListbox {
    options: IPktComboboxOption[];
    isOpen: boolean;
    disabled: boolean;
    includeSearch: boolean;
    isMultiSelect: boolean;
    allowUserInput: boolean;
    maxIsReached: boolean;
    customUserInput: string | null;
    searchPlaceholder: string | null;
    searchValue: string | null;
    maxLength: number;
    userMessage: string | null;
}
export declare class PktListbox extends PktElement implements IPktListbox {
    id: string;
    label: string | null;
    options: IPktComboboxOption[];
    isOpen: boolean;
    disabled: boolean;
    includeSearch: boolean;
    isMultiSelect: boolean;
    allowUserInput: boolean;
    maxIsReached: boolean;
    customUserInput: string | null;
    searchPlaceholder: string | null;
    searchValue: string | null;
    maxLength: number;
    userMessage: string | null;
    private _selectedOptions;
    private typeahead;
    private _filteredOptions;
    connectedCallback(): void;
    disconnectedCallback(): void;
    updated(changedProperties: PropertyValues): void;
    attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
    private get _hasOptions();
    render(): import('lit-html').TemplateResult<1>;
    private renderCheckboxOrCheckIcon;
    private renderEmptyMessage;
    private renderList;
    private renderNewOptionBanner;
    private renderMaximumReachedBanner;
    private renderUserMessage;
    private renderSearch;
    private handleSearchInput;
    private handleSearchKeydown;
    private handleOptionKeydown;
    focusFirstOrSelectedOption(): void;
    private toggleOption;
    private selectAll;
    private closeOptions;
    private tabClose;
    filterOptions(): void;
    private handleTypeAhead;
}
