import { EventEmitter } from '../../stencil-public-runtime';
import type { OptionInterface } from './option-interface';
/**
 * Selectable items for use within [select](/components/select) and [datalist](/components/datalist).
 *
 * @version 2.0.0
 * @status stable
 *
 * @slot - main label. Defaults to `label` or `value` prop
 * @slot checked-icon - icon to indicated checked / selected state. Defaults to fontawesome light/check
 * @slot start - suitable for an icon or content displayed at the start of the main label
 * @slot end - suitable for an icon or content displayed at the end of the main label
 */
export declare class Option implements OptionInterface {
    private optId;
    host: HTMLNanoOptionElement;
    constructor();
    /**
     * Value of the option
     */
    value: string;
    valueChanged(): void;
    /**
     * Label of the option
     */
    label: string;
    labelChanged(): void;
    /**
     * Whether this option is selected
     */
    selected: boolean;
    /**
     * Whether this option should be disabled
     */
    disabled: boolean;
    /** You can add extra meta for this option. When displayed in a list, users
     * search / filter via extra related terms.
     */
    filterMeta: string;
    /** Setting an href will render an `<a>` element */
    href: string;
    /** Fired when an option is selected */
    nanoSelect: EventEmitter<HTMLNanoOptionElement>;
    handleKeyDown(e: KeyboardEvent): void;
    private handleClick;
    private get labelContent();
    componentWillLoad(): void;
    render(): any;
}
