import { PropertyValues, TemplateResult } from 'lit';
import { 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 SelectOption = SelectStringOption | SelectProfileOption;
declare const LuksoSelect_base: typeof import('lit').LitElement;
export declare class LuksoSelect extends LuksoSelect_base {
    value: string | undefined;
    placeholder: string | undefined;
    label: string | undefined;
    id: string | undefined;
    description: string | undefined;
    error: string | undefined;
    isFullWidth: boolean;
    isReadonly: boolean;
    isDisabled: boolean;
    borderless: boolean;
    options: string | undefined;
    selected: number | undefined;
    isOpen: boolean;
    openTop: boolean;
    isLargeIcon: boolean;
    isRight: boolean;
    size: InputSize;
    showSelectionCounter: boolean;
    maxHeight: number | undefined;
    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>;
    optionsTemplate(): TemplateResult<1>;
    optionGroupedStringTemplate(option: {
        group: string;
        values: SelectStringOption[];
    }, 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