import { PropertyValues, TemplateResult } from 'lit';
import { Address, InputSize } from '../../shared/types';
export type SelectOptionType = 'string' | 'profile' | 'secondary-with-tooltip';
export type SelectOption = {
    id: string;
    type: SelectOptionType;
    address?: Address;
    image?: string;
    name?: string;
    isEOA?: boolean;
    group?: string;
    value?: string;
    secondaryValue?: string;
    tooltip?: string;
};
declare const LuksoSelect_base: typeof import('lit').LitElement;
/**
 * A custom select/dropdown supporting string options, profile options (with address, image, name), and secondary-with-tooltip options.
 */
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;
    private rightSlotWidth;
    constructor();
    private inputStyles;
    private counterStyles;
    private iconWrapperStyles;
    private iconStyles;
    private handleRightSlotChange;
    connectedCallback(): void;
    disconnectedCallback(): void;
    willUpdate(changedProperties: PropertyValues<this>): void;
    inputTemplate(): TemplateResult<1>;
    selectedOptionsCounterTemplate(): TemplateResult<1>;
    optionsTemplate(): TemplateResult<1>;
    private optionByTypeTemplate;
    optionGroupedTemplate(option: {
        group: string;
        values: SelectOption[];
    }, index: number): TemplateResult<1>;
    optionStringTemplate(option: SelectOption, index: number): TemplateResult<1>;
    optionProfileTemplate(option: SelectOption, index: number): TemplateResult<1>;
    optionSecondaryWithTooltipTemplate(option: SelectOption, 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