import { ESLBaseElement } from '../../../esl-base-element/core';
import type { ESLSelectOption } from './esl-select-wrapper';
/**
 * ESLSelectItem component
 * @author Alexey Stsefanovich (ala'n)
 *
 * ESLSelectItem - inner component to render an option
 */
export declare class ESLSelectItem extends ESLBaseElement {
    static readonly is: string;
    static observedAttributes: string[];
    /** Option value */
    value: string;
    /** Selected state marker */
    selected: boolean;
    /** Disabled state marker */
    disabled: boolean;
    /** Original option */
    original: ESLSelectOption;
    protected connectedCallback(): void;
    protected attributeChangedCallback(attrName: string): void;
    update(option?: ESLSelectOption): void;
    /** Helper to create an option item */
    static build(option: ESLSelectOption): ESLSelectItem;
}
declare global {
    export interface ESLLibrary {
        SelectItem: typeof ESLSelectItem;
    }
    export interface HTMLElementTagNameMap {
        'esl-select-item': ESLSelectItem;
    }
}
