import { type PropertyValues, type TemplateResult } from 'lit';
import type { Address, InputSize } from '../../shared/types';
export type SelectStringOption = {
    id?: string;
    group?: string;
    value: string;
};
export type SelectProfileOption = {
    id?: string;
    address: Address;
    image?: string;
    name?: string;
    isEOA?: boolean;
};
export type SelectGroupedStringOption = {
    id?: string;
    group: string;
    values: string[];
};
export type SelectOption = SelectStringOption | SelectProfileOption | SelectGroupedStringOption;
declare const LuksoSelect_base: typeof import("lit").LitElement;
export declare class LuksoSelect extends LuksoSelect_base {
    value: string;
    placeholder: string;
    label: string;
    id: string;
    description: string;
    error: string;
    isFullWidth: boolean;
    isReadonly: boolean;
    isDisabled: boolean;
    borderless: boolean;
    options: string;
    selected: any;
    isOpen: boolean;
    openTop: boolean;
    isLargeIcon: boolean;
    isRight: boolean;
    size: InputSize;
    showSelectionCounter: boolean;
    private optionsParsed;
    private valueParsed;
    constructor();
    private inputStyles;
    private counterStyles;
    private iconStyles;
    connectedCallback(): void;
    disconnectedCallback(): void;
    willUpdate(changedProperties: PropertyValues<this>): void;
    inputTemplate(): TemplateResult<1>;
    selectedOptionsCounterTemplate(): TemplateResult<1>;
    labelTemplate(): TemplateResult<1>;
    descriptionTemplate(): TemplateResult<1>;
    errorTemplate(): TemplateResult<1>;
    optionsTemplate(): TemplateResult<1>;
    optionGroupedStringTemplate(option: SelectGroupedStringOption, index: number): TemplateResult<1>;
    optionStringTemplate(option: SelectStringOption, index: number): TemplateResult<1>;
    optionProfileTemplate(option: SelectProfileOption, index: number): TemplateResult<1>;
    private optionStringValue;
    private optionProfileValue;
    private selectedValueTemplate;
    private handleOutsideDropdownClick;
    private handleDropdownKeydown;
    private handleSelect;
    private handleBlur;
    private handleClick;
    render(): TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'lukso-select': LuksoSelect;
    }
}
export {};
//# sourceMappingURL=index.d.ts.map