/**
 * TyOption Web Component
 * PORTED FROM: clj/ty/components/option.cljs
 *
 * Ty Option Web Component - Rich HTML alternative to native <option>
 * Enhanced with robust property-attribute synchronization for framework compatibility.
 */
import type { TyOptionElement } from '../types/common.js';
/**
 * Ty Option Component
 *
 * Rich HTML alternative to native <option> element.
 * Supports HTML content, styling, and framework property binding.
 *
 * @example
 * ```html
 * <ty-option value="1">Simple Option</ty-option>
 * <ty-option value="2" selected>Selected Option</ty-option>
 * <ty-option value="3" disabled>Disabled Option</ty-option>
 * <ty-option value="4">
 *   <strong>Rich</strong> <em>HTML</em> Content
 * </ty-option>
 * ```
 */
export declare class TyOption extends HTMLElement implements TyOptionElement {
    private _value;
    private _selected;
    private _disabled;
    private _highlighted;
    private _hidden;
    private _isMobile;
    private _clearButtonHandler;
    constructor();
    static get observedAttributes(): string[];
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
    /**
     * Get value from either property or attribute, with textContent fallback.
     * Property takes precedence (for framework compatibility).
     */
    private getOptionValue;
    get value(): string | undefined;
    set value(val: string | undefined);
    get selected(): boolean;
    set selected(value: boolean);
    get disabled(): boolean;
    set disabled(value: boolean);
    get highlighted(): boolean;
    set highlighted(value: boolean);
    get hidden(): boolean;
    set hidden(value: boolean);
    /**
     * Remove clear button event listener if it exists
     */
    private removeClearButtonListener;
    /**
     * Add clear button event listener (only if not already added)
     */
    private addClearButtonListener;
    /**
   * Render the option component with rich HTML content and property sync
   */
    private render;
}
//# sourceMappingURL=option.d.ts.map